2

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

我有这样的表:

在此处输入图像描述

此表不是标准 BNF 2。

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

当然,当 input = 44 时,它可以工作:

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

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

提前谢谢你,史蒂夫

4

3 回答 3

1

尝试这个:

SELECT [NO_ID]    
FROM [T_TARIF_ZONE]
WHERE DEPARTEMENT like '%37%'
于 2013-04-19T08:28:49.593 回答
1

请试试:

select 
    NO_ID, 
    DEPARTMEMT 
from 
    T
where 
    ' '+DEPARTMEMT+' ' like 
    (case when @var=13 then ' FRANCE ' ELSE '% '+@var+' %' END)
于 2013-04-19T09:02:14.753 回答
0

甲骨文版本 -

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 
于 2013-04-19T08:31:05.353 回答