在SQL中使用NOT LIKE子句

时间:2013-05-15 14:42:26

标签: sql sql-server-2008

我目前有一条SQL语句,我试图过滤掉某些帐号。我希望所有帐号都小于20000000,无论如何都要用

之类的东西写出来

AND ACCT_NO NOT LIKE '2%'不起作用

或者......我应该使用这样的东西:

AND ACCT_NO < '20000000'

以下是过滤语句:

WHERE adm_date BETWEEN '2012-05-01' AND '2013-04-30'
AND adm_src_desc != 'SCHEDULED ADMISSION'
AND pt_no < '20000000'
AND B_Adm_Source != 'SCHEDULED ADMISSION'
AND B_Pt_No < '20000000'
AND B_Dsch_Date IS NOT NULL

我是否也应该尝试类似的东西 和acct < 20000000没有引号?

谢谢

3 个答案:

答案 0 :(得分:3)

I want all account numbers less than 20000000

肯定:

ACCT_NO < 20000000

答案 1 :(得分:3)

这不起作用,因为第一个数字可能不是2.意味着:第2XX号(200-299,20-29等)不会出现。

AND ACCT_NO NOT LIKE '2%'

这将是正确的方式。

AND ACCT_NO < '20000000'

答案 2 :(得分:1)

我最终使用

AND PT_NO < 20000000
AND B_PT_NO < 20000000

这解决了这个问题。