请问IS NULL和= NULL之间有什么区别吗

我很惊讶地看到IS NULL和= NULL在选择查询中产生不同的结果。它们之间有什么区别?什么时候用什么。如果您能详细解释我,我将很高兴。


海绵宝宝撒
浏览 1321回答 3
3回答

九州编程

= NULL总是unknown(这是3状态逻辑的一部分),但是WHERE子句将其视为false并从结果集中删除。所以NULL你应该使用IS NULL

holdtom

要添加到现有答案中,取决于使用“ = NULL”时是否打开ANSI_NULLS。-- This will print TRUESET ANSI_NULLS OFF;IF NULL = NULL    PRINT 'TRUE'ELSE    PRINT 'FALSE'-- This will print FALSESET ANSI_NULLS ON;IF NULL = NULL    PRINT 'TRUE'ELSE    PRINT 'FALSE'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server