淺談MySQL查詢出的值為NULL和N/A和空值的區(qū)別
例子表
CREATE TABLE `book` ( `id` int(11) NOT NULL AUTO_INCREMENT, `book_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `author` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `publisher` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE, FULLTEXT INDEX `bookname_author_publisher_fulltext`(`book_name`, `author`, `publisher`) WITH PARSER `ngram` ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
插入幾條數(shù)據(jù)

區(qū)別
在MySQL中,NULL,N/A,空值是完全的三種東西,首先展示一下它們的表現(xiàn)形式
N/A的展示形式
當(dāng)我使用select * from book where id = 561656 進(jìn)行查詢的時(shí)候,很明顯,數(shù)據(jù)庫(kù)不存在這樣的數(shù)據(jù),注意,我說的是不存在,現(xiàn)在我們查看結(jié)果

可以看到所有的列都為N/A,也就是不存在這樣的結(jié)果,映射到Java上什么都沒有,是的,完全映射不上,要是以對(duì)象接收這一列的結(jié)果,那么這個(gè)對(duì)象就是NULL,沒有指向任何地方。要是以List接收結(jié)果,也是映射不上,List的size為0
NULL的展示形式
NULL就是NULL,字面意思,在列中存NULL,列映射到Java屬性中也是NULL

搜索NULL以 is null 進(jìn)行搜索
空值的展示形式
空值就是空串,存儲(chǔ)的也是空串,映射到Java中也是""(空串),啥也沒有,但是就是字符串

搜索這樣的結(jié)果以 = ‘’ 進(jìn)行搜索(和搜索字符串一樣,等于空串)
TIPS
- 另外,在寫sql語句時(shí)這些值的不同也可能導(dǎo)致結(jié)果不同
- 如果你定義了一個(gè)局部變量,搜索一個(gè)N/A的結(jié)果賦值給該變量,那么結(jié)果是該變量沒有任何改變,不會(huì)對(duì)該變量做任何賦值操作
- 如果你定義了一個(gè)局部變量,搜索一個(gè)NULL的結(jié)果賦值給該變量,那么結(jié)果是該變量的值也會(huì)被更新為NULL
到此這篇關(guān)于淺談MySQL查詢出的值為NULL和N/A和空值的區(qū)別的文章就介紹到這了,更多相關(guān)MySQL查詢值為NULL和N/A和空值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql事務(wù)的基本要素與事務(wù)隔離級(jí)別詳解
這篇文章主要介紹了mysql事務(wù)的基本要素與事務(wù)隔離級(jí)別詳解,事務(wù)是一種機(jī)制、一個(gè)操作序列,包含了一組數(shù)據(jù)庫(kù)操作命令,并且把所有的命令作為一個(gè)整體一起向系統(tǒng)提交或撤銷操作請(qǐng)求,需要的朋友可以參考下2023-08-08
MySQL提示Truncated incorrect DOUBLE value解決方法
這篇文章給大家介紹了MySQL提示Truncated incorrect DOUBLE value報(bào)錯(cuò)的四種解決方法,并通過代碼給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-02-02
Mac os 解決無法使用localhost連接mysql問題
今天在mac上搭建好了php的環(huán)境,把先前在window、linux下運(yùn)行良好的程序放在mac上,居然出現(xiàn)訪問不了數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)連接的host用的是localhost,可以確認(rèn)數(shù)據(jù)庫(kù)配置是正確的,下面特為大家分享下2014-05-05
Can’t open file:''[Table]mytable.MYI''
也許很多人遇到過類似Can’t open file: ‘[Table]mytable.MYI’ 這樣的錯(cuò)誤信息,卻不知道怎么解決他,下面我們做個(gè)介紹,2011-01-01
Mysql 導(dǎo)入導(dǎo)出csv 中文亂碼問題的解決方法
這篇文章介紹了Mysql 導(dǎo)入導(dǎo)出csv 中文亂碼問題的解決方法,有需要的朋友可以參考一下2013-09-09
mysql修改數(shù)據(jù)庫(kù)編碼(數(shù)據(jù)庫(kù)字符集)和表的字符編碼的方法
Mysql數(shù)據(jù)庫(kù)是一個(gè)開源的數(shù)據(jù)庫(kù),應(yīng)用非常廣泛。以下是修改mysql數(shù)據(jù)庫(kù)的字符編碼的操作過程和將表的字符編碼轉(zhuǎn)換成utf-8的方法,需要的朋友可以參考下2014-03-03

