欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL如何判斷字符串為NULL或者為空字符串

 更新時(shí)間:2022年08月29日 14:18:14   作者:?jiǎn)柹渡恫粫?huì)  
這篇文章主要介紹了MySQL如何判斷字符串為NULL或者為空字符串,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

判斷字符串為NULL或者為空字符串

函數(shù)名說(shuō)明
ISNULL(expr)如果expr為null返回值1,否則返回值為0
IFNULL(expr1,expr2)如果expr1值為null返回expr2的值,否則返回expr1的值
NULLIF(expr1,expr2)如果expr1==expr2返回值為null,否則返回expr1的值;相當(dāng)于case when expr1=expr2 then null else expr1 end
COALESCE返回傳入的參數(shù)中第一個(gè)非null的值
IF(expr1,expr2,expr3)如果expr1的值為true,則返回expr2的值,否則返回expr3的值

例:

查找學(xué)生姓名不為null的學(xué)生信息

SELECT * FROM student WHERE ISNULL(stu_name) <1
SELECT * FROM student WHERE stu_name is not null

查詢(xún)學(xué)生成績(jī),若score為null則返回0

SELECT IFNULL('score',0) FROM stu_score
SELECT COALESCE('score',0) FROM stu_score
SELECT IF(IFNULL('score',null)=null,0,score) FROM stu_score
SELECT CASE WHEN score is null THEN 0 ELSE score END AS score FROM stu_score

MySQL中NULL和空字符串區(qū)別

相信很多用了MySQL很久的人,對(duì)這兩個(gè)字段屬性的概念還不是很清楚

一般會(huì)有以下疑問(wèn)

  • 1.字段類(lèi)型是NOT NULL,為什么可以插入空值?
  • 2.NOT NULL的效率比NULL高?
  • 3.判斷字段不為空的時(shí),到底要 select * from table where column <>  還是要用 select * from table wherecolumn is not null 呢?

帶著上面幾個(gè)疑問(wèn),我們來(lái)深入研究一下NULL 和 NOT NULL 到底有什么不一樣。

首先,我們要搞清楚“空字符串” 和 “NULL” 的概念:

  • 空值是不占用空間的。
  • MySQL中的NULL是占用空間的

打個(gè)比方來(lái)說(shuō),你有一個(gè)杯子,空值代表杯子是真空的,NULL代表杯子中裝滿(mǎn)了空氣,雖然杯子看起來(lái)都是空的,但是區(qū)別是很大的。

注意事項(xiàng)

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

判斷NULL 用IS NULL 或者 IS NOT NULL, SQL語(yǔ)句函數(shù)中可以使用ifnull()函數(shù)來(lái)進(jìn)行處理,判斷空字符用=''或者 <>''來(lái)進(jìn)行處理

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

對(duì)于空值的判斷到底是使用is null 還是='' 要根據(jù)實(shí)際情況來(lái)進(jìn)行區(qū)分。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • mysql中插入emoji表情失敗的原因與解決

    mysql中插入emoji表情失敗的原因與解決

    這篇文章主要給大家介紹了關(guān)于mysql中插入emoji表情失敗的原因與解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 詳解MySQL like如何查詢(xún)包含''%''的字段(ESCAPE用法)

    詳解MySQL like如何查詢(xún)包含''%''的字段(ESCAPE用法)

    這篇文章主要介紹了詳解MySQL like如何查詢(xún)包含'%'的字段(ESCAPE用法),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • mac下重置mysl8.0.11密碼的方法

    mac下重置mysl8.0.11密碼的方法

    mac下安裝mysql8.0.11時(shí)要求輸入密碼之后想修改密碼。接下來(lái)通過(guò)本文給大家介紹mac下重置mysl8.0.11密碼的方法,需要的朋友可以參考下
    2018-06-06
  • MySQL定時(shí)執(zhí)行腳本(計(jì)劃任務(wù))命令實(shí)例

    MySQL定時(shí)執(zhí)行腳本(計(jì)劃任務(wù))命令實(shí)例

    在mysql中我們可以直接進(jìn)行一些參數(shù)設(shè)置讓它成定時(shí)為我們執(zhí)行一些任務(wù)了,這個(gè)雖然可以使用windows或者linux中的計(jì)劃任務(wù)實(shí)現(xiàn),但是mysql本身也能完成
    2013-10-10
  • 詳解MySql存儲(chǔ)過(guò)程參數(shù)的入門(mén)使用

    詳解MySql存儲(chǔ)過(guò)程參數(shù)的入門(mén)使用

    這篇文章主要介紹了MySql存儲(chǔ)過(guò)程參數(shù)的入門(mén)使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Linux下MySQL 5.5/5.6的修改字符集編碼為UTF8的方法

    Linux下MySQL 5.5/5.6的修改字符集編碼為UTF8的方法

    下面小編就為大家?guī)?lái)一篇Linux下MySQL 5.5/5.6的修改字符集編碼為UTF8的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Mysql 日期格式化及復(fù)雜日期區(qū)間查詢(xún)

    Mysql 日期格式化及復(fù)雜日期區(qū)間查詢(xún)

    最近在做項(xiàng)目涉及到Mysql的復(fù)雜日期查詢(xún),日期查詢(xún)其實(shí)在數(shù)據(jù)庫(kù)中查詢(xún)其實(shí)還是用的挺多的,所以本文就來(lái)詳細(xì)的介紹一下,感興趣的可以了解一下
    2021-09-09
  • MySQL復(fù)合查詢(xún)(多表查詢(xún)、子查詢(xún))的實(shí)現(xiàn)

    MySQL復(fù)合查詢(xún)(多表查詢(xún)、子查詢(xún))的實(shí)現(xiàn)

    MySQL復(fù)合查詢(xún)是指在一個(gè)SQL語(yǔ)句中使用多個(gè)查詢(xún)條件,以過(guò)濾和檢索數(shù)據(jù),本文主要介紹了MySQL復(fù)合查詢(xún)(多表查詢(xún)、子查詢(xún))的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • MySQL5.7如何修改root密碼

    MySQL5.7如何修改root密碼

    這篇文章主要為大家詳細(xì)介紹了MySQL5.7修改root密碼的相關(guān)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • 修改MYSQL密碼的幾種常用方法總結(jié)

    修改MYSQL密碼的幾種常用方法總結(jié)

    以下是對(duì)修改MYSQL密碼的幾種常用方法進(jìn)行了總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-08-08

最新評(píng)論