在我的where子句中,我有以下内容:
where SharePt NOT LIKE 'SharePoint Document%'
Run Code Online (Sandbox Code Playgroud)
即使SharePt为null,结果也不会返回任何内容.
但是,当我执行以下操作时,它的工作原理或SharePtVer IS NULL
where SharePt NOT LIKE 'SharePoint Document%' OR SharePt IS NULL
Run Code Online (Sandbox Code Playgroud)
想知道为什么NOT LIKE在包含NULL>方面不起作用
SQL使用三值逻辑 ... NULL与... 不同FALSE,并且NOT NULL不一样TRUE.
NULL 表示缺少值,并在SQL的三值逻辑中起到未知值的作用:
A AND B | TRUE | FALSE | Unknown
--------+---------+---------+--------
TRUE | TRUE | FALSE | Unknown
FALSE | FALSE | FALSE | FALSE
Unknown | Unknown | FALSE | Unknown
A OR B | True | False | Unknown
--------+---------+---------+--------
True | True | True | True
False | True | False | Unknown
Unknown | True | Unknown | Unknown
Run Code Online (Sandbox Code Playgroud)
当where SharePt NOT LIKE 'SharePoint Document%'被评估,如果SharePt是NULL,或未知...那么结果会是未知的...... SharePt可能是也可能不是LIKE 'SharePoint Document%'.
| 归档时间: |
|
| 查看次数: |
1059 次 |
| 最近记录: |