我有一个带有此字段的oracle表
"SYSTEM_HIDDEN" CHAR(1 BYTE),
我有一个行id(26119),该字段的值为NULL。但是当我使用此语句查询此行时,不返回任何行:
SELECT * FROM T_BOOK WHERE id =26119 and SYSTEM_HIDDEN <> 'T'
Oracle Database 11g企业版11.2.0.4.0版中的- 64位生产
答案 0 :(得分:0)
NULL
值在所有比较中都很特殊(IS NULL
和IS NOT NULL
除外),将NULL
与=
,<>
,{{进行比较1}},>
,<
,>=
始终返回<=
,最终的行为与NULL
相似,不会选择任何行。
使用FALSE
或
而是(SYSTEM_HIDDEN <> 'T' or SYSTEM_HIDDEN IS NULL)