为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

海绵宝宝撒 2019-11-03 08:04:06
我很惊讶地看到IS NULL和= NULL在选择查询中产生不同的结果。它们之间有什么区别?什么时候用什么。如果您能详细解释我,我将很高兴。
查看完整描述

3 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-11-04
?
holdtom

TA贡献1805条经验 获得超10个赞

要添加到现有答案中,取决于使用“ = NULL”时是否打开ANSI_NULLS。


-- This will print TRUE

SET ANSI_NULLS OFF;

IF NULL = NULL

    PRINT 'TRUE'

ELSE

    PRINT 'FALSE'


-- This will print FALSE

SET ANSI_NULLS ON;

IF NULL = NULL

    PRINT 'TRUE'

ELSE

    PRINT 'FALSE'



查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 1318 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信