用split函数在字符串中选择sql?

时间:2013-04-19 08:21:27

标签: sql sql-server select

如何从非规范表中进行选择。

我有这样的表:

enter image description here

此表不是norme BNF 2.

我只想选择DEPARTEMENT =某事的NO_ID。 例如:
当输入44然后NO_ID = 1时 当输入37然后NO_ID = 3
当输入13(不在表中)然后NO_ID = 5

当输入= 44时,它可以工作:

SELECT [NO_ID]    
FROM [T_TARIF_ZONE]
WHERE DEPARTEMENT = '44'

但是当输入= 37或13时,我如何输入WHERE语句。

提前谢谢你, 甜菊

3 个答案:

答案 0 :(得分:1)

试试这个:

SELECT [NO_ID]    
FROM [T_TARIF_ZONE]
WHERE DEPARTEMENT like '%37%'

答案 1 :(得分:1)

请尝试:

select 
    NO_ID, 
    DEPARTMEMT 
from 
    T
where 
    ' '+DEPARTMEMT+' ' like 
    (case when @var=13 then ' FRANCE ' ELSE '% '+@var+' %' END)

答案 2 :(得分:0)

Oracle版本 -

SELECT [NO_ID]    
FROM [T_TARIF_ZONE]
WHERE INSTR(DEPARTEMENT, '44')>0  OR INSTR(DEPARTEMENT, '37')>0 OR INSTR(DEPARTEMENT, '13')>0 

SQL Server版本 -

    SELECT [NO_ID]    
FROM [T_TARIF_ZONE]
WHERE PATINDEX('44', DEPARTEMENT)>0  OR PATINDEX('37', DEPARTEMENT)>0 OR PATINDEX('13', DEPARTEMENT)>0