逗号分隔列表SQL

时间:2015-06-18 13:45:16

标签: sql oracle

我有一个包含3列的表:" Dept Number"和#34;班级编号"和"描述"。如果用户输入值21-1和24-12,其中左项表示部门编号,右项表示班级编号,我想根据其部门编号和班级编号在表格中搜索这些项目(此处,部门编号为# = 21和类#= 1)并显示其描述。我该如何编写SQL查询?

注意:用户可以输入多个值。所以,我正在考虑制作2个列表:1个用于dept#,另一个用于#类。但是,我不确定如何使用这些列表搜索数据库

1 个答案:

答案 0 :(得分:3)

以下是SQL Server和Oracle的代码示例。

SQL Server:

SELECT *
FROM yourTable
WHERE dept = CAST(SUBSTRING(N'21-1',1,CHARINDEX(N'-',N'21-1')-1) as int)
    AND class = CAST(SUBSTRING(N'21-1',CHARINDEX(N'-',N'21-1')+1, LEN(N'21-1')) as int)

的Oracle

SELECT *
FROM yourTable
WHERE dept = CAST(SUBSTR(N'21-1',1,CHARINDEX(N'-',N'21-1')-1) as int)
    AND class = CAST(SUBSTR(N'21-1',CHARINDEX(N'-',N'21-1')+1, LENGTH(N'21-1')) as int)

请正确标记您的问题。我希望这会对你有所帮助。