通配符,相同字段,sql

通配符,相同字段,sql,sql,teradata,Sql,Teradata,当我尝试在同一个字段中查询时,得到的结果为零,其中一个字段是通配符。当我把它分开写的时候,它是有效的,但是我不能在同一张表中找出它 Select * from table where table.field1 NOT IN ('UNK') OR table.field1 NOT LIKE ('x01%') 使用而不是的逻辑很复杂。我想你想要和: Select * from table where table.field1 NOT IN ('UNK') AND table.field1 NOT

当我尝试在同一个字段中查询时,得到的结果为零,其中一个字段是通配符。当我把它分开写的时候,它是有效的,但是我不能在同一张表中找出它

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

使用
而不是
的逻辑很复杂。我想你想要

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

您的语句的问题在于
'UNK'
'x01%'
不同。因此,如果第一个计算结果为false,第二个将计算结果为true。
解决了这个问题。

为这个问题添加示例数据,但我的直觉是你的
应该是