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

主頁 > 知識庫 > mysql中null(IFNULL,COALESCE和NULLIF)相關(guān)知識點(diǎn)總結(jié)

mysql中null(IFNULL,COALESCE和NULLIF)相關(guān)知識點(diǎn)總結(jié)

熱門標(biāo)簽:巫師三血與酒地圖標(biāo)注 400電話申請信用卡 萊西市地圖標(biāo)注 常州網(wǎng)絡(luò)外呼系統(tǒng)開發(fā) 走過哪個省地圖標(biāo)注 在哪里申請400電話 外呼系統(tǒng)電銷受騙 銷售語音電話機(jī)器人 安徽ai電話電銷機(jī)器人有效果嗎

本文實(shí)例講述了mysql中null(IFNULL,COALESCE和NULLIF)相關(guān)知識點(diǎn)。分享給大家供大家參考,具體如下:

在MySQL中,NULL值表示一個未知值,它不同于0或空字符串'',并且不等于它自身。

我們?nèi)绻麑ULL值與另一個NULL值或任何其他值進(jìn)行比較,則結(jié)果為NULL,因?yàn)橐粋€不知道是什么的值(NULL值)與另一個不知道是什么的值(NULL值)比較,其值當(dāng)然也是一個不知道是什么的值(NULL值)。

然而我們通常,使用NULL值來表示數(shù)據(jù)丟失,未知或不適用的情況。 例如,潛在客戶的電話號碼可能為NULL,并且可以稍后添加。所以我們創(chuàng)建表時,可以通過使用NOT NULL約束來指定列是否接受NULL值。接下來,我們來創(chuàng)建一張leads表,并且以此為依據(jù)來具體了解下:

CREATE TABLE leads (
  id INT AUTO_INCREMENT PRIMARY KEY,
  first_name VARCHAR(50) NOT NULL,
  last_name VARCHAR(50) NOT NULL,
  source VARCHAR(255) NOT NULL,
  email VARCHAR(100),
  phone VARCHAR(25)
);

我們可以看出來,id是主鍵列,它不接受任何NULL值,然后first_name,last_name和source列使用NOT NULL約束,因此,不能在這些列中插入任何NULL值,而email和phone列則可接受NULL值。

所以,我們可以在insert語句中使用NULL值來指定數(shù)據(jù)丟失。 例如,以下語句將一行插入到線索表中。 因?yàn)殡娫捥柎a丟失,所以使用NULL值:

INSERT INTO leads(first_name,last_name,source,email,phone)
VALUE('John','Doe','Web Search','john.doe@yiibai.com',NULL);

因?yàn)閑mail列的默認(rèn)值為NULL,可以按照以下方式在INSERT語句中省略電子郵件:

INSERT INTO leads(first_name,last_name,source,phone)
VALUES('Lily','Bush','Cold Calling','(408)-555-1234'),
('David','William','Web Search','(408)-888-6789');

完事如果我們要將列的值設(shè)置為NULL,可以使用賦值運(yùn)算符(=)。 例如,要將David William的手機(jī)(phone)更新為NULL,請使用以下UPDATE語句:

UPDATE leads 
SET 
  phone = NULL
WHERE
  id = 3;

但是如果使用order by子句按升序?qū)Y(jié)果集進(jìn)行排序,則MySQL認(rèn)為NULL值低于其他值,因此,它會首先顯示NULL值。以下查詢語句按照電話號碼(phone)升序排列:

SELECT 
  *
FROM
  leads
ORDER BY phone;

執(zhí)行上面查詢語句,結(jié)果如下:

+----+------------+-----------+--------------+---------------------+----------------+
| id | first_name | last_name | source    | email        | phone     |
+----+------------+-----------+--------------+---------------------+----------------+
| 1 | John    | Doe    | Web Search  | john.doe@yiibai.com | NULL      |
| 3 | David   | William  | Web Search  | NULL        | NULL      |
| 2 | Lily    | Bush   | Cold Calling | NULL        | (408)-555-1234 |
+----+------------+-----------+--------------+---------------------+----------------+

如果使用ORDER BY DESC,NULL值將顯示在結(jié)果集的最后:

SELECT 
  *
FROM
  leads
ORDER BY phone DESC;

執(zhí)行上面查詢語句,結(jié)果如下:

+----+------------+-----------+--------------+---------------------+----------------+
| id | first_name | last_name | source    | email        | phone     |
+----+------------+-----------+--------------+---------------------+----------------+
| 2 | Lily    | Bush   | Cold Calling | NULL        | (408)-555-1234 |
| 1 | John    | Doe    | Web Search  | john.doe@yiibai.com | NULL      |
| 3 | David   | William  | Web Search  | NULL        | NULL      |
+----+------------+-----------+--------------+---------------------+----------------+
3 rows in set

我們?nèi)绻诓樵冎袦y試NULL,可以在where子句中使用IS NULL或IS NOT NULL運(yùn)算符。例如,要獲得尚未提供電話號碼的潛在客戶,請使用IS NULL運(yùn)算符,如下所示:

SELECT 
  *
FROM
  leads
WHERE
  phone IS NULL;

執(zhí)行上面查詢語句,結(jié)果如下:

+----+------------+-----------+------------+---------------------+-------+
| id | first_name | last_name | source   | email        | phone |
+----+------------+-----------+------------+---------------------+-------+
| 1 | John    | Doe    | Web Search | john.doe@yiibai.com | NULL |
| 3 | David   | William  | Web Search | NULL        | NULL |
+----+------------+-----------+------------+---------------------+-------+
2 rows in set

我們還可以使用IS NOT運(yùn)算符來獲取所有提供電子郵件地址的潛在客戶:

SELECT 
  *
FROM
  leads
WHERE
  email IS NOT NULL;

執(zhí)行上面查詢語句,結(jié)果如下:

+----+------------+-----------+------------+---------------------+-------+
| id | first_name | last_name | source   | email        | phone |
+----+------------+-----------+------------+---------------------+-------+
| 1 | John    | Doe    | Web Search | john.doe@yiibai.com | NULL |
+----+------------+-----------+------------+---------------------+-------+
1 row in set

然而,即使NULL不等于NULL,GROUP BY子句中視兩個NULL值相等,來看下sql實(shí)例:

SELECT 
  email, count(*)
FROM
  leads
GROUP BY email;

該查詢只返回兩行,因?yàn)槠溧]箱(email)列為NULL的行被分組為一行,結(jié)果如下所示:

+---------------------+----------+
| email        | count(*) |
+---------------------+----------+
| NULL        |    2 |
| john.doe@yiibai.com |    1 |
+---------------------+----------+
2 rows in set

我們要知道在列上使用唯一約束或UNIQUE索引時,可以在該列中插入多個NULL值,在這種情況下,MySQL認(rèn)為NULL值是不同的。接下來我們通過為phone列創(chuàng)建一個UNIQUE索引來驗(yàn)證這一點(diǎn):

CREATE UNIQUE INDEX idx_phone ON leads(phone);

這里我們要注意,如果使用BDB存儲引擎的話,mysql會認(rèn)為NULL值相等,因此我們不能將多個NULL值插入到具有唯一約束的列中。

既然知道了null的好處和壞處,我們就來看下在mysql中應(yīng)該如何處理它吧。mysql一共提供了三個函數(shù),分別是IFNULL,COALESCE和NULLIF。

我們來分別看下,首先,IFNULL函數(shù)接受兩個參數(shù)。 如果IFNULL函數(shù)不為NULL,則返回第一個參數(shù),否則返回第二個參數(shù)。例如,如果不是NULL,則以下語句返回電話號碼(phone),否則返回N/A,而不是NULL。來看個實(shí)例:

SELECT 
  id, first_name, last_name, IFNULL(phone, 'N/A') phone
FROM
  leads;

執(zhí)行上面查詢語句,得到以下結(jié)果:

+----+------------+-----------+----------------+
| id | first_name | last_name | phone     |
+----+------------+-----------+----------------+
| 1 | John    | Doe    | N/A      |
| 2 | Lily    | Bush   | (408)-555-1234 |
| 3 | David   | William  | N/A      |
+----+------------+-----------+----------------+
3 rows in set

完事就是COALESCE函數(shù),它接受參數(shù)列表,并返回第一個非NULL參數(shù)。 例如,可以使用COALESCE函數(shù)根據(jù)信息的優(yōu)先級按照以下順序顯示線索的聯(lián)系信息:phone, email和N/A。以下是案例:

SELECT 
  id,
  first_name,
  last_name,
  COALESCE(phone, email, 'N/A') contact
FROM
  leads;

執(zhí)行上面查詢語句,得到以下代碼:

+----+------------+-----------+---------------------+
| id | first_name | last_name | contact       |
+----+------------+-----------+---------------------+
| 1 | John    | Doe    | john.doe@yiibai.com |
| 2 | Lily    | Bush   | (408)-555-1234   |
| 3 | David   | William  | N/A         |
+----+------------+-----------+---------------------+
3 rows in set

最后就是NULLIF函數(shù)了,它接受兩個參數(shù)。如果兩個參數(shù)相等,則NULLIF函數(shù)返回NULL。 否則,它返回第一個參數(shù)。在列中同時具有NULL和空字符串值時,NULLIF函數(shù)很有用。 例如,我們錯誤地將以下行插入到leads表中:

INSERT INTO leads(first_name,last_name,source,email,phone)
VALUE('Thierry','Henry','Web Search','thierry.henry@yiibai.com','');

因?yàn)閜hone是一個空字符串:'',而不是NULL。所以,如果我們想獲得潛在客戶的聯(lián)系信息,則最終得到空phone,而不是電子郵件,如下所示:

SELECT 
  id,
  first_name,
  last_name,
  COALESCE(phone, email, 'N/A') contact
FROM
  leads;

執(zhí)行上面查詢語句,得到以下代碼:

+----+------------+-----------+---------------------+
| id | first_name | last_name | contact       |
+----+------------+-----------+---------------------+
| 1 | John    | Doe    | john.doe@yiibai.com |
| 2 | Lily    | Bush   | (408)-555-1234   |
| 3 | David   | William  | N/A         |
| 4 | Thierry  | Henry   |           |
+----+------------+-----------+---------------------+

我們?nèi)绻鉀Q這個問題,就要使用NULLIF函數(shù)將電話與空字符串('')進(jìn)行比較,如果相等,則返回NULL,否則返回電話號碼:

SELECT 
  id,
  first_name,
  last_name,
  COALESCE(NULLIF(phone, ''), email, 'N/A') contact
FROM
  leads;

執(zhí)行上面查詢語句,得到以下代碼:

+----+------------+-----------+--------------------------+
| id | first_name | last_name | contact         |
+----+------------+-----------+--------------------------+
| 1 | John    | Doe    | john.doe@yiibai.com   |
| 2 | Lily    | Bush   | (408)-555-1234      |
| 3 | David   | William  | N/A           |
| 4 | Thierry  | Henry   | thierry.henry@yiibai.com |
+----+------------+-----------+--------------------------+
4 rows in set

好啦,本次記錄就到這里了。

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》

希望本文所述對大家MySQL數(shù)據(jù)庫計(jì)有所幫助。

您可能感興趣的文章:
  • MySql中 is Null段判斷無效和IFNULL()失效的解決方案
  • MySQL IFNULL判空問題解決方案
  • mysql中替代null的IFNULL()與COALESCE()函數(shù)詳解
  • 淺談Mysql中類似于nvl()函數(shù)的ifnull()函數(shù)
  • MySql中的IFNULL、NULLIF和ISNULL用法詳解
  • 淺談SQLServer的ISNULL函數(shù)與Mysql的IFNULL函數(shù)用法詳解
  • mysql中IFNULL,IF,CASE的區(qū)別介紹
  • MySQL ifnull的嵌套使用說明

標(biāo)簽:煙臺 來賓 果洛 陽江 河北 鞍山 赤峰 黃石

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql中null(IFNULL,COALESCE和NULLIF)相關(guān)知識點(diǎn)總結(jié)》,本文關(guān)鍵詞  mysql,中,null,IFNULL,COALESCE,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql中null(IFNULL,COALESCE和NULLIF)相關(guān)知識點(diǎn)總結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于mysql中null(IFNULL,COALESCE和NULLIF)相關(guān)知識點(diǎn)總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品一区二区三区在线播放视频| 国产综合色精品一区二区三区| 欧美韩国日本一区| 日韩在线a电影| 欧美欧美午夜aⅴ在线观看| 日韩精品一区二区三区在线播放| 亚洲精选在线视频| 午夜精彩视频在线观看不卡| 国产**成人网毛片九色 | 91精品国产欧美日韩| 亚洲国产电影在线观看| 国产aⅴ综合色| 日韩欧美国产一区二区三区 | 亚洲欧美国产高清| 91视频你懂的| 亚洲午夜久久久久久久久电影院 | 国产露脸91国语对白| 久久精品亚洲精品国产欧美kt∨| 国内精品免费**视频| 久久久精品国产99久久精品芒果| 久久国产麻豆精品| 成人黄色电影在线| 亚洲天天做日日做天天谢日日欢| 在线视频国内自拍亚洲视频| 欧美激情在线看| 欧美人与性动xxxx| 久久国产精品色婷婷| 亚洲人成网站色在线观看| 精品婷婷伊人一区三区三| 国产一区视频在线看| 亚洲欧美一区二区不卡| 欧美日韩日日摸| 99久久久久久| 国产一区二区三区综合| 亚洲特级片在线| 欧美极品xxx| 国产精品无人区| 欧美激情一区在线观看| 欧美日韩免费高清一区色橹橹| 天天做天天摸天天爽国产一区| 欧美不卡一区二区三区四区| 日本乱码高清不卡字幕| 国模大尺度一区二区三区| 一区二区三区在线免费视频| 欧美丰满美乳xxx高潮www| 波多野结衣一区二区三区| 日韩成人一级大片| 亚洲欧美另类久久久精品2019| 久久精品这里都是精品| 91在线视频播放地址| 国产精品资源在线看| 国产亚洲成av人在线观看导航| 国产三级精品三级| 国产精品久久久久久一区二区三区| 欧美草草影院在线视频| 久久久不卡网国产精品一区| 久久免费电影网| 日韩一区二区免费视频| 欧美电影在线免费观看| 久久综合色婷婷| 国产片一区二区三区| 亚洲国产wwwccc36天堂| 国产精品影视网| aaa亚洲精品| 不卡一区在线观看| 91福利资源站| 欧美日本一道本| 国产色一区二区| 国产精品全国免费观看高清| 国产日本欧美一区二区| 粉嫩高潮美女一区二区三区| 欧美一区二区视频在线观看| 欧美三区在线观看| 日韩欧美综合一区| 精品999久久久| 2020国产精品| 日韩av网站在线观看| 午夜精品一区二区三区三上悠亚| 欧美日韩视频在线第一区| 26uuu久久综合| 欧美精品一区二区三区久久久| 亚洲一二三四区不卡| 亚洲午夜一二三区视频| 精品入口麻豆88视频| 精品久久免费看| 欧美日韩成人一区| 久久色视频免费观看| 蜜芽一区二区三区| 久久99久久久欧美国产| 亚洲国产精品欧美一二99| 国产九色精品成人porny| 欧美成人猛片aaaaaaa| 色诱视频网站一区| 国产毛片精品视频| 日韩电影在线观看一区| 欧美成人乱码一区二区三区| 欧美区在线观看| 国产成人精品综合在线观看| 免费成人在线播放| 久久疯狂做爰流白浆xx| 99国产麻豆精品| 国产精品91一区二区| 婷婷亚洲久悠悠色悠在线播放| 国产欧美视频一区二区三区| 色综合中文综合网| 一区二区三区视频在线看| 国产精品自在在线| 欧美绝品在线观看成人午夜影视| 亚洲视频免费在线观看| 欧美精品黑人性xxxx| 精品久久久久久久久久久久久久久| 日韩精品一区二区三区三区免费| 日韩高清国产一区在线| 国产三级一区二区| 亚洲制服丝袜av| 日韩精品一区二区三区在线| 石原莉奈在线亚洲二区| 日韩电影在线一区二区| 欧美成人艳星乳罩| 激情欧美日韩一区二区| 国产欧美一区视频| 日本一区二区三区四区| 午夜精品久久久久久久久| 亚洲成人一区二区| 国产精品一区二区免费不卡 | 亚洲色图一区二区三区| 国产剧情一区在线| 欧美在线观看一区| 亚洲精品高清在线| 色婷婷精品久久二区二区蜜臀av| 久久精品国产99| 亚洲成人高清在线| 国产精品久久久久久久久动漫| 亚洲综合图片区| 欧美岛国在线观看| 国产精品一区二区久激情瑜伽| 日本一区二区动态图| 亚洲日本va午夜在线影院| 中文字幕一区av| 奇米色一区二区三区四区| 精品福利在线导航| 久久综合九色综合欧美98| 3d动漫精品啪啪1区2区免费 | 欧美不卡一区二区| 亚洲视频每日更新| 毛片不卡一区二区| 一区二区三区不卡视频| 国产一区不卡精品| 午夜精品久久久久| 国产色产综合色产在线视频| 欧美电影免费观看完整版| 国产亚洲综合色| 一区二区三区中文字幕电影| 亚洲少妇屁股交4| 色先锋久久av资源部| 国产高清成人在线| 国产永久精品大片wwwapp| 欧美日韩久久一区| 亚洲在线视频免费观看| 国v精品久久久网| 久久久久久久久久久久久久久99 | 3d动漫精品啪啪| 欧美久久久久久久久久| 欧美电影免费观看高清完整版在线 | 蜜桃视频一区二区三区在线观看| 一本久道中文字幕精品亚洲嫩| 欧美一级理论性理论a| 性欧美疯狂xxxxbbbb| 久久国产精品区| 色吊一区二区三区 | 欧美激情一区二区三区| 亚洲精品自拍动漫在线| 日本一区二区动态图| 69成人精品免费视频| 国产精品原创巨作av| 国产丶欧美丶日本不卡视频| 国产精品久久夜| 日韩欧美一级精品久久| 欧美一区二区三区白人 | 麻豆国产精品777777在线| 一级女性全黄久久生活片免费| 精品国产91亚洲一区二区三区婷婷| 精品视频在线视频| 波多野结衣中文字幕一区二区三区 | 久久超级碰视频| 日韩视频在线一区二区| 国产精品资源在线看| 成人黄色网址在线观看| 亚洲国产精品视频| 欧美激情一二三区| 欧美喷水一区二区| 99免费精品在线观看| 亚洲欧洲综合另类| 91精品综合久久久久久| 激情文学综合丁香| 国产精品免费网站在线观看| 欧美一级搡bbbb搡bbbb| 在线观看免费一区| 日本女优在线视频一区二区 | av高清不卡在线|