我明白了为什么这两个声明均属不实为什么“Null Like X”和“Not(Null Like X)”相等?
NULL LIKE 'X'
NULL NOT LIKE 'X'
不过,我不明白的是为什么这些是:
NOT (NULL LIKE 'X')
NOT (NULL NOT LIKE 'X')
例如,这两个语句应该,我想,返回不同值:
SELECT CASE WHEN NOT (NULL LIKE 'X') THEN 'True' ELSE 'False' END
SELECT CASE WHEN (NULL LIKE 'X') THEN 'True' ELSE 'False' END
谢谢,我很容易理解你的帖子。我认为'NULL LIKE [无论]]是错误的,而不是空的。没想到'LIKE'可以返回NULL' – Tipx
@Tipx:不客气!是的,三值逻辑是SQL中更令人困惑和有争议的方面之一。 – ruakh