婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 在SQL中該如何處理NULL值

在SQL中該如何處理NULL值

熱門標簽:外呼系統(tǒng)會封嗎 萬利達綜合醫(yī)院地圖標注點 股票配資電銷機器人 武漢AI電銷機器人 南京電銷外呼系統(tǒng)哪家好 地圖標注如何弄全套標 實體店地圖標注怎么標 電銷機器人 深圳 在電子版地圖標注要收費嗎

在日常使用數(shù)據(jù)庫時,你在意過NULL值么?

其實,NULL值在數(shù)據(jù)庫中是一個很特殊且有趣的存在,下面我們一起來看看吧;

小伙伴想精準查找自己想看的MySQL文章?喏 → MySQL專欄目錄 | 點擊這里

在查詢數(shù)據(jù)庫時,如果你想知道一個列(例如:用戶注冊年限 USER_AGE)是否為 NULL,SQL 查詢語句該怎么寫呢?

是這樣:

SELECT * FROM TABLE WHERE USER_AGE = NULL

還是這樣?

SELECT * FROM TABLE WHERE USER_AGE IS NULL

當然,正確的寫法應該是第二種(WHERE USER_AGE IS NULL)。

但為什么要這樣寫呢?在進行數(shù)據(jù)庫數(shù)據(jù)比較操作時,我們不會使用“IS”關鍵詞,不是嗎?

 

一臉懵逼

例如,如果我們想要知道一個列的值是否等于 1,WHERE 語句是這樣的:

WHERE USER_AGE = 1

那為什么 NULL 值要用 IS 關鍵字呢?為什么要以這種方式來處理 NULL?

因為,在 SQL 中,NULL 表示“未知”。也就是說,NULL 值表示的是“未知”的值。

NULL = 未知;

在大多數(shù)數(shù)據(jù)庫中,NULl 和空字符串是有區(qū)別的。

但并不是所有數(shù)據(jù)庫都這樣,例如,Oracle 就不支持空字符串,它會把空字符串自動轉成 NULL 值。

在其他大多數(shù)數(shù)據(jù)庫里,NULL 值和字符串的處理方式是不一樣的:

  • 空字符("")串雖然表示“沒有值”,但這個值是已知的。
  • NULL 表示 “未知值”,這個值是未知的。

這就好比我問了一個問題:“川建國的小名叫什么?”

有人會回答說:“我不知道川建國的小名是什么”。對于這種情況,可以在數(shù)據(jù)庫中使用Nickname列來表示川建國的小名,而這一列的值為 NULL。

也有人會回答說:“川建國沒有小名。他的父母沒有給他取小名,大家雖然一直叫他川二狗,但是我知道川建國確實沒有小名”。對于這種情況,Nickname列應該是一個空字符串("")。

Oracle 比較特殊,兩個值都使用 NULL 來表示,而其他大多數(shù)數(shù)據(jù)庫會區(qū)分對待。

但只要記住 NULL 表示的是一個未知的值,那么在寫 SQL 查詢語句時就會得心應手。

例如,如果你有一個這樣的查詢語句:

SELECT * FROM SOME_TABLE WHERE 1 = 1

這個查詢會返回所有的行(假設 SOME_TABLE 不是空表),因為表達式“1=1”一定為 true。

如果我這樣寫:

SELECT * FROM SOME_TABLE WHERE 1 = 0

表達式“1=0”是 false,這個查詢語句不會返回任何數(shù)據(jù)。

但如果我寫成這樣:

SELECT * FROM SOME_TABLE WHERE 1 = NULL

這個時候,數(shù)據(jù)庫不知道這兩個值(1 和 NULL)是否相等,因此會認定為“NULL”或“未知”,所以它也不會返回任何數(shù)據(jù)。

  三元邏輯

SQL 查詢語句中的 WHERE 一般會有三種結果:

  • 它可以是 true(這個時候會返回數(shù)據(jù));
  • 它可以是 false(這個時候不會返回數(shù)據(jù));
  • 它也可以是 NULL 或未知(這個時候也不會返回數(shù)據(jù));

你可能會想:“既然這樣,那我為什么要去關心是 false 還是 NULL?它們不是都不會返回數(shù)據(jù)嗎?”

接下來,我來告訴你在哪些情況下會有問題:我們來看看 NOT( ) 方法。

假設有這樣的一個查詢語句:

SELECT * FROM SOME_TABLE WHERE NOT(1 = 1)

數(shù)據(jù)庫首先會計算 1=1,這個顯然是 true。

接著,數(shù)據(jù)庫會應用 NOT() 條件,所以 WHERE 返回 false。

所以,上面的查詢不會返回任何數(shù)據(jù)。

但如果把語句改成這樣:

SELECT * FROM SOME_TABLE WHERE NOT(1 = 0)


數(shù)據(jù)庫首先會計算 1=0,這個肯定是 false。

接著,數(shù)據(jù)庫應用 NOT() 條件,這樣就得到相反的結果,變成了 true。

所以,這個語句會返回數(shù)據(jù)。

但如果把語句再改成下面這樣呢?

SELECT * FROM SOME_TABLE WHERE NOT(1 = NULL)

數(shù)據(jù)庫首先計算 1=NULL,它不知道 1 是否等于 NULL,因為它不知道 NULL 的值是什么。

所以,這個計算不會返回 true,也不會返回 false,它會返回一個 NULL。

接下來,NOT() 會繼續(xù)解析上一個計算返回的結果。

當 NOT() 遇到 NULL,它會生成另一個 NULL。未知的相反面是另一個未知。

所以,對于這兩個查詢:

SELECT * FROM SOME_TABLE WHERE NOT(1 = NULL)
SELECT * FROM SOME_TABLE WHERE 1 = NULL

都不會返回數(shù)據(jù),盡管它們是完全相反的。

NULL 和 NOT IN
如果我有這樣的一個查詢語句:

SELECT * FROM TABLE WHERE 1 IN (1, 2, 3, 4, NULL)

很顯然,WHERE 返回 true,這個語句將返回數(shù)據(jù),因為 1 在括號列表里是存在的。

但如果這么寫:

SELECT * FROM SOME_TABLE WHERE 1 NOT IN (1, 2, 3, 4, NULL)

很顯然,WHERE 返回 false,這個查詢不會返回數(shù)據(jù),因為 1 在括號列表里存在,但我們說的是“NOT IN”。

但如果我們把語句改成這樣呢?

SELECT * FROM SOME_TABLE WHERE 5 NOT IN (1, 2, 3, 4, NULL)

這里的 WHERE 不會返回數(shù)據(jù),因為它的結果不是 true。數(shù)字 5 在括號列表里可能不存在,也可能存在,因為當中有一個 NULL 值(數(shù)據(jù)庫不知道 NULL 的值是什么)。

這個 WHERE 會返回 NULL,所以整個查詢不會返回任何數(shù)據(jù)。

希望大家現(xiàn)在都清楚該怎么在 SQL 語句中處理 NULL 值了。更多相關SQL處理NULL值內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • sqlserver 不能將值NULL插入列id(列不允許有空值解決)
  • mysql中將null值轉換為0的語句
  • MySQL中對于NULL值的理解和使用教程
  • 在SQL Server中使用ISNULL執(zhí)行空值判斷查詢
  • 詳解MySQL中的NULL值
  • sql 語句中的 NULL值
  • MySQL NULL 值處理實例詳解
  • SQL 中 NULL值測試代碼

標簽:濟源 武威 泰安 汕頭 安徽 臺州 濟寧 廣東

巨人網絡通訊聲明:本文標題《在SQL中該如何處理NULL值》,本文關鍵詞  在,SQL,中該,如何,處理,NULL,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《在SQL中該如何處理NULL值》相關的同類信息!
  • 本頁收集關于在SQL中該如何處理NULL值的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    97se亚洲国产综合自在线观| 美国十次了思思久久精品导航| 99久久久国产精品| 精品国产亚洲在线| 777亚洲妇女| 久久这里只有精品首页| 精品国产污污免费网站入口| 精品不卡在线视频| 精品国精品国产尤物美女| 欧美哺乳videos| 国产色91在线| 午夜精品爽啪视频| 久久香蕉国产线看观看99| 久久99热狠狠色一区二区| 国产一区二区三区在线观看精品 | 色乱码一区二区三区88| av激情成人网| 精品成人一区二区| 91久久久免费一区二区| 欧美精品一区二区在线播放| 欧美激情综合五月色丁香小说| 亚洲午夜一区二区| 播五月开心婷婷综合| 91精品久久久久久蜜臀| 亚洲日本护士毛茸茸| 成人午夜视频网站| 国产精品毛片久久久久久| 国产精品久久久久久久久久免费看| 亚洲成av人片www| 欧美在线观看视频一区二区| 亚洲三级视频在线观看| 99久久精品国产导航| 91精品国产麻豆| 视频一区二区中文字幕| 成人av资源站| eeuss鲁片一区二区三区| 欧美特级限制片免费在线观看| 亚洲国产精品成人久久综合一区| 一区二区日韩av| 91黄色免费版| 一区二区三区 在线观看视频| 色一情一乱一乱一91av| 亚洲精选一二三| 亚洲电影第三页| 91福利社在线观看| 一区二区三区精品视频在线| 在线一区二区三区四区五区| 国产精品高潮呻吟| 欧美日韩三级在线| 久久99精品久久久久久国产越南| 亚洲男人的天堂av| 亚洲成人免费在线| 日韩一区二区三区观看| 伊人夜夜躁av伊人久久| 欧美在线免费观看视频| 波多野洁衣一区| 一区二区三区精品视频| 这里只有精品电影| 成人97人人超碰人人99| 日韩av中文在线观看| 国产丝袜在线精品| 91精品国产色综合久久久蜜香臀| 成人在线视频一区| 韩国成人在线视频| 亚洲.国产.中文慕字在线| 国产午夜精品一区二区三区嫩草| 欧美日韩一级视频| 成人免费毛片app| 久久成人羞羞网站| 丝袜亚洲另类丝袜在线| 亚洲老司机在线| 一区二区免费看| 日本欧美韩国一区三区| 亚洲国产裸拍裸体视频在线观看乱了| 国产三级一区二区| 亚洲国产精品成人综合色在线婷婷 | 老司机一区二区| 欧美日韩精品一区二区天天拍小说 | 日韩伦理免费电影| 国产精品热久久久久夜色精品三区| 欧美色男人天堂| 91麻豆精品秘密| 国产ts人妖一区二区| 成人不卡免费av| 国产精品一卡二| 国产精品一区二区在线播放 | 成人不卡免费av| 成人av电影在线网| 色婷婷av一区二区三区软件 | 欧美三级一区二区| 日韩欧美激情四射| 亚洲国产高清不卡| 日韩在线一二三区| 色综合天天天天做夜夜夜夜做| 91网页版在线| 91麻豆精品国产91久久久更新时间| 久久女同性恋中文字幕| 亚洲一区二区五区| 粉嫩av一区二区三区| 欧美日韩中文另类| 91.com视频| 亚洲成av人片www| 不卡在线观看av| 久久久亚洲国产美女国产盗摄 | 97久久超碰国产精品| 日韩一区二区三区高清免费看看| 国产精品美女久久久久aⅴ国产馆| 一区二区三区**美女毛片| 国产成人免费视频网站| 欧美精品第1页| 一区二区三区日韩精品视频| 国产.欧美.日韩| 欧美tickling挠脚心丨vk| 国产精品色哟哟| 国产一区二区三区四区在线观看| 欧美精品在线一区二区三区| 国产一区二区三区美女| 69堂成人精品免费视频| 亚洲资源中文字幕| 欧美日韩精品免费观看视频| 91麻豆精品国产91久久久久| 香蕉久久夜色精品国产使用方法 | 91福利精品视频| 精品国产乱码久久久久久浪潮| 日韩欧美一级精品久久| 亚洲柠檬福利资源导航| 国产一区二区在线影院| 日本电影欧美片| 亚洲综合男人的天堂| 亚洲成人av一区二区三区| 久久aⅴ国产欧美74aaa| 91麻豆福利精品推荐| 日韩一区二区三区av| 日本伊人色综合网| 欧美大片一区二区三区| 国产精品综合在线视频| 亚洲人成人一区二区在线观看| 欧美日韩夫妻久久| 国产精品一级黄| 亚洲制服丝袜av| 69堂国产成人免费视频| 成人av在线一区二区三区| 国产免费成人在线视频| 91免费版在线看| 国产精一品亚洲二区在线视频| 亚洲猫色日本管| 日韩欧美一级二级三级 | 亚洲综合色成人| 国产精品久久久久久久第一福利 | 国产偷国产偷亚洲高清人白洁| 成人毛片在线观看| 欧美a一区二区| 一区二区成人在线视频| 国产精品久久三| 亚洲精品一区二区精华| 884aa四虎影成人精品一区| 91视频免费播放| 99re这里只有精品首页| 成人免费精品视频| av亚洲精华国产精华精| 欧美一区二区在线不卡| 亚洲大片在线观看| 中文字幕国产一区二区| 日韩午夜三级在线| 91精品久久久久久久99蜜桃 | 久久精品水蜜桃av综合天堂| 日韩午夜在线观看视频| 欧美一区二区三区精品| 91精品视频网| 欧美国产日本韩| 国产欧美精品一区| 国产精品久久久久久久久免费相片| 中文字幕亚洲在| 香蕉乱码成人久久天堂爱免费| 日本不卡一区二区| 久久福利资源站| 成人高清视频在线观看| 一本大道av伊人久久综合| 色域天天综合网| 成人综合在线视频| 91精品91久久久中77777| 久久人人爽爽爽人久久久| 精品日韩在线观看| 国产一区二区三区四区在线观看| 精品国产凹凸成av人网站| 轻轻草成人在线| 欧美一区二区三区在线观看视频 | 成人免费观看视频| 欧美一级夜夜爽| 午夜精品福利一区二区蜜股av| 亚洲综合另类小说| aaa国产一区| 日本一区二区三区四区在线视频| 亚洲国产aⅴ成人精品无吗| 成人av在线资源| 1000精品久久久久久久久| 91视视频在线观看入口直接观看www | 日韩免费看的电影| 国产精品一区二区三区99| 欧美激情一区二区|