猿问

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

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



扬帆大鱼
浏览 901回答 3
3回答

慕雪6442864

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

慕的地10843

要添加到现有答案中,取决于使用“ = 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

相关分类

SQL Server
我要回答