久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

你知道m(xù)ysql中空值和null值的區(qū)別嗎

瀏覽:51日期:2023-10-06 16:59:09
前言

最近發(fā)現(xiàn)帶的小伙伴寫sql對(duì)于空值的判斷方法不正確,導(dǎo)致程序里面的數(shù)據(jù)產(chǎn)生錯(cuò)誤,在此進(jìn)行一下整理,方便大家以后正確的判斷空值。以下帶來示例給大家進(jìn)行講解。

建表

create table test (colA varchar(10) not null,colB varchar(10) null);向test表中插入數(shù)據(jù)

插入colA為null的數(shù)據(jù)

insert into test values (null,1);

此時(shí)會(huì)報(bào)錯(cuò),因?yàn)閏olA列不能為null。

插入colB為null的數(shù)據(jù)

insert into test values (1,null);

發(fā)現(xiàn)插入成功。

你知道m(xù)ysql中空值和null值的區(qū)別嗎

插入都為空的數(shù)據(jù)

insert into test values (’’,’’);

你知道m(xù)ysql中空值和null值的區(qū)別嗎

插入colA為空的數(shù)據(jù)

insert into test values (’’,null);

你知道m(xù)ysql中空值和null值的區(qū)別嗎

發(fā)現(xiàn)向colA一列插入空值成功,而colB列既可以插入空值,也可以插入NULL值。總結(jié)一下,定義為NOT NULL的字段只能插入空值,不能插入null值,而NULL字段可以插入空值,也可以插入null值。

插入都不為空的數(shù)據(jù)

insert into test values (1,2);開始查詢

你知道m(xù)ysql中空值和null值的區(qū)別嗎你知道m(xù)ysql中空值和null值的區(qū)別嗎你知道m(xù)ysql中空值和null值的區(qū)別嗎你知道m(xù)ysql中空值和null值的區(qū)別嗎

可以發(fā)現(xiàn) is not null 只會(huì)過濾為null值的列,而<>會(huì)同時(shí)過濾空值和null值,所以要根據(jù)實(shí)際情況選擇過濾方式。另外,判斷null值只能用 is null 或 is not null ,不能用 = 或 <>。

特別注意

1、在進(jìn)行count()統(tǒng)計(jì)某列的記錄數(shù)的時(shí)候,如果采用的NULL值,會(huì)別系統(tǒng)自動(dòng)忽略掉,但是空值是會(huì)進(jìn)行統(tǒng)計(jì)到其中的。

你知道m(xù)ysql中空值和null值的區(qū)別嗎

2、判斷NULL 用IS NULL 或者 is not null,SQL 語句函數(shù)中可以使用ifnull()函數(shù)來進(jìn)行處理,判斷空字符用 = 或者 <> 來進(jìn)行處理

3、對(duì)于MySQL特殊的注意事項(xiàng),對(duì)于timestamp數(shù)據(jù)類型,如果往這個(gè)數(shù)據(jù)類型插入的列插入NULL值,則出現(xiàn)的值是當(dāng)前系統(tǒng)時(shí)間。插入空值,則會(huì)出現(xiàn) ‘0000-00-00 00:00:00’

4、對(duì)于空值的判斷到底是使用is null 還是 = 要根據(jù)實(shí)際業(yè)務(wù)來進(jìn)行區(qū)分。

5、當(dāng)使用ORDER BY時(shí),首先呈現(xiàn)NULL值。如果你用DESC以降序排序,NULL值最后顯示。當(dāng)使用GROUP BY時(shí),所有的NULL值被認(rèn)為是相等的,故只顯示一行。

總結(jié)

到此這篇關(guān)于mysql中空值和null值的區(qū)別的文章就介紹到這了,更多相關(guān)mysql空值和null值的區(qū)別內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 敦化市| 合江县| 政和县| 澄城县| 怀来县| 天祝| 巨鹿县| 调兵山市| 卢氏县| 汉阴县| 毕节市| 宝坻区| 寿阳县| 宣城市| 平阴县| 临沭县| 宣汉县| 井冈山市| 灯塔市| 长治市| 水富县| 平果县| 句容市| 海丰县| 武安市| 循化| 江达县| 乌拉特后旗| 朔州市| 彰化市| 承德市| 新绛县| 淮滨县| 习水县| 财经| 浮山县| 承德市| 昔阳县| 资阳市| 团风县| 电白县|