日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL ifnull()函数

發布時間:2023/12/3 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL ifnull()函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自??MySQL ifnull()函數

MySQL IFNULL函數簡介

MySQL?IFNULL函數是MySQL控制流函數之一,它接受兩個參數,如果不是NULL,則返回第一個參數。 否則,IFNULL函數返回第二個參數。

兩個參數可以是文字值或表達式。

以下說明了IFNULL函數的語法:

IFNULL(expression_1,expression_2);

如果expression_1不為NULL,則IFNULL函數返回expression_1; 否則返回expression_2的結果。

IFNULL函數根據使用的上下文返回字符串或數字。

如果要返回基于TRUE或FALSE條件的值,而不是NULL,則應使用IF函數。

MySQL的IFNULL函數示例

請參見以下IFNULL函數示例:

示例-1

SELECT IFNULL(1,0); -- returns 1

示例-2

SELECT IFNULL('',1); -- returns ''

示例-3

SELECT IFNULL(NULL,'IFNULL function'); -- returns IFNULL function

上面示例中的語句是怎么運行的?

  • IFNULL(1,0)返回1,因為1不為NULL。
  • IFNULL('',1)返回'',因為''字符串不為NULL。
  • IFNULL(NULL,'IFNULL function')返回IFNULL函數字符串,因為第一個參數為NULL。
    我們來看一下使用IFNULL函數的實例。

首先,使用以下語句創建一個名為contacts的新表:

USE testdb; CREATE TABLE IF NOT EXISTS contacts (contactid INT AUTO_INCREMENT PRIMARY KEY,contactname VARCHAR(20) NOT NULL,bizphone VARCHAR(15),homephone VARCHAR(15) );

每個聯系人都有一個名字,業務電話和家庭電話。

其次,將數據插入到contacts表中:

INSERT INTO contacts(contactname,bizphone,homephone) VALUES('John Doe','(541) 754-3009',NULL),('Cindy Minsu',NULL,'(541) 754-3110'),('Sue Greenspan','(541) 754-3010','(541) 754-3011'),('Lily Bush',NULL,'(541) 754-3111');

一些聯系人只有家庭電話或商務電話。要從contacts表中獲取所有聯系人姓名和電話,請使用以下查詢:

SELECT contactName, bizphone, homephone FROMcontacts;

執行上面查詢語句,得到以下結果 -

+---------------+----------------+----------------+ | contactName | bizphone | homephone | +---------------+----------------+----------------+ | John Doe | (541) 754-3009 | NULL | | Cindy Minsu | NULL | (541) 754-3110 | | Sue Greenspan | (541) 754-3010 | (541) 754-3011 | | Lily Bush | NULL | (541) 754-3111 | +---------------+----------------+----------------+ 4 rows in set

如果聯系人的商務電話不可用,可以通過查詢獲得聯系人的家庭電話也是一個獲取聯系方式的辦法 -

SELECT contactname, IFNULL(bizphone, homephone) phone FROMcontacts;

這可以使用IFNULL()函數來解決。如果bizphone為NULL,則IFNULL函數將返回homephone的值。

第三,使用以下查詢獲取所有聯系人的姓名和電話:

mysql> SELECT contactname, IFNULL(bizphone, homephone) phone FROMcontacts; +---------------+----------------+ | contactname | phone | +---------------+----------------+ | John Doe | (541) 754-3009 | | Cindy Minsu | (541) 754-3110 | | Sue Greenspan | (541) 754-3010 | | Lily Bush | (541) 754-3111 | +---------------+----------------+ 4 rows in set

請注意,應避免在WHERE子句中使用IFNULL函數,因為它會降低查詢的性能。

如果要檢查值是否為NULL,則可以在WHERE子句中使用IS NULL或IS NOT NULL。

在本教程中,我們向您介紹了MySQL?IFNULL函數,并向您展示了如何在查詢中使用IFNULL函數。

總結

以上是生活随笔為你收集整理的MySQL ifnull()函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。