通配符,相同字段,sql

时间:2017-12-04 18:29:48

标签: sql teradata

当我尝试在同一个字段中查询一个是外卡时,我得到的结果为零。当我单独写它时,它可以工作,但我无法在同一个表中找到它。

Select *
from table
where table.field1 NOT IN ('UNK')
OR table.field1 NOT LIKE ('x01%')

1 个答案:

答案 0 :(得分:1)

NOT的逻辑很棘手。我想你想要AND

Select *
from table
where table.field1 NOT IN ('UNK') AND table.field1 NOT LIKE ('x01%')

您的陈述存在的问题是'UNK''x01%'不同。因此,如果第一个计算结果为false,则第二个计算结果为true。 AND解决了这个问题。