我尝试使用以下查询来查询表:
select * from name where firstname NOT LIKE 'PETER%'
它不会返回任何firstname为null的记录。这是错误还是事实?我有SQL Server背景,对这里的许多事情感到困惑。
NULL与LIKE
不匹配。您必须明确要求使用OR firstname IS NULL
与NULL
的任何比较都返回"unknown"-在大多数情况下,这与"not true"相同。
如果SQL Server为NOT LIKE 'PETER%'
返回NULL值,我会认为这是SQL Server中的一个错误。