继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

MySQL中is not null和!=null和<>null的区别

FFIVE
关注TA
已关注
手记 435
粉丝 70
获赞 459

在mysql中,筛选非空的时候经常会用到is not null和!=null,这两种方法单从字面上来看感觉是差不多的,其实如果去运行一下试试的话差别会很大!
为什么会出现这种情况呢?
null 表示什么也不是, 不能=、>、< … 所有的判断,结果都是false,所有只能用 is null进行判断。
默认情况下,推荐使用 IS NOT NULL去判断,因为SQL默认情况下对!= Null的判断会永远返回0行,但没有语法错误。
如果你一定想要使用!= Null来判断,需要加上这个语句:
set ANSI_NULLS off
这时你会发现IS NOT NULL 和 != null 是等效的
一个字段如果设为“NULL”,表示如果这个字段的值为空时,自动插入一个“NULL”值。
一个字段如果设为“NOT NULL”,表示如果这个字段的值为空时,不自动插入“NULL”值(任其无值)。
所以,设为“NULL”的意思反而是“不能无值”(由MYSQL自动赋“NULL”值),而设为“NOT NULL”是“可以无值”

原文来源:https://m.pythontab.com/article/1118


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP