最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2022年08月29日 14:18:14   作者:問啥啥不會  
這篇文章主要介紹了MySQL如何判斷字符串為NULL或者為空字符串,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

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

函數(shù)名說明
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ù)中第一個非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

查詢學(xué)生成績,若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很久的人,對這兩個字段屬性的概念還不是很清楚

一般會有以下疑問

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

帶著上面幾個疑問,我們來深入研究一下NULL 和 NOT NULL 到底有什么不一樣。

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

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

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

注意事項

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

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

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

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

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

相關(guān)文章

  • mysql函數(shù)group_concat()返回結(jié)果不全問題

    mysql函數(shù)group_concat()返回結(jié)果不全問題

    文章介紹了MySQL中使用group_concat()函數(shù)拼接返回字段時遇到的字符長度問題,分析了問題原因,并提供了兩種解決方法:臨時修改group_concat_max_len配置和永久修改MySQL配置文件
    2024-11-11
  • MYSQL代碼 定期備份Mysql數(shù)據(jù)庫

    MYSQL代碼 定期備份Mysql數(shù)據(jù)庫

    Mysql自動備份腳本供大家參考,實現(xiàn)了定期備份Mysql數(shù)據(jù)庫,并且可以選在在每周的一天做指定目錄下文件的全面?zhèn)浞荩瑐浞菸募詣由蟼鞯侥阒付ǖ腇TP上,保證了備份的可靠性。
    2009-04-04
  • mysql錯誤處理之ERROR 1665 (HY000)

    mysql錯誤處理之ERROR 1665 (HY000)

    最近一直在mysql的各個版本直接徘徊,這中間遇到了各種各樣的錯誤,將已經(jīng)處理完畢的幾個錯誤整理了一下,分享給大家,這次我們來看看錯誤提示 ERROR 1665 (HY000)
    2014-07-07
  • MySQL刪除外鍵、增加外鍵以及刪除主鍵、增加主鍵的實戰(zhàn)步驟

    MySQL刪除外鍵、增加外鍵以及刪除主鍵、增加主鍵的實戰(zhàn)步驟

    在Mysql中使用外鍵,可以有效地將多個表格的數(shù)據(jù)"聯(lián)動"起來,打破獨立狀態(tài),互相影響,下面這篇文章主要給大家介紹了關(guān)于MySQL刪除外鍵、增加外鍵以及刪除主鍵、增加主鍵的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • 最新評論

    南充市| 汽车| 新津县| 嘉定区| 乌海市| 三河市| 深州市| 永州市| 竹溪县| 昌黎县| 鲁山县| 津市市| 天津市| 梁山县| 新田县| 遵义县| 临桂县| 玛曲县| 琼中| 图片| 石家庄市| 于都县| 安乡县| 仙桃市| 崇仁县| 娄烦县| 明水县| 图们市| 丹凤县| 洞口县| 福清市| 山西省| 民权县| 沅陵县| 吉木萨尔县| 务川| 永和县| 崇州市| 玉溪市| 明水县| 衢州市|