MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)的使用詳解
在MySQL中可以使用IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)進行流程的控制。
1、IF()函數(shù)的使用
IF(expr1,expr2,expr3),如果expr1的值為true,則返回expr2的值,如果expr1的值為false,則返回expr3的值。
SELECT IF(TRUE,'A','B'); -- 輸出結(jié)果:A SELECT IF(FALSE,'A','B'); -- 輸出結(jié)果:B
2、IFNULL()函數(shù)的使用
IFNULL(expr1,expr2),如果expr1的值為null,則返回expr2的值,如果expr1的值不為null,則返回expr1的值。
例1
mysql> SELECT IFNULL(1,0); -> 1 mysql> SELECT IFNULL(NULL,10); -> 10 mysql> SELECT IFNULL(1/0,10); -> 10 mysql> SELECT IFNULL(1/0,'yes'); -> 'yes'
例2
SELECT IFNULL(NULL,'B'); -- 輸出結(jié)果:B SELECT IFNULL('HELLO','B'); -- 輸出結(jié)果:HELLO
3、NULLIF()函數(shù)的使用
NULLIF(expr1,expr2),如果expr1=expr2成立,那么返回值為null,否則返回值為expr1的值。
SELECT NULLIF('A','A'); -- 輸出結(jié)果:null SELECT NULLIF('A','B'); -- 輸出結(jié)果:A
4、ISNULL()函數(shù)的使用
ISNULL(expr),如果expr的值為null,則返回1,如果expr1的值不為null,則返回0。
SELECT ISNULL(NULL); -- 輸出結(jié)果:1 SELECT ISNULL('HELLO'); -- 輸出結(jié)果:0
到此這篇關(guān)于MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)的使用詳解的文章就介紹到這了,更多相關(guān)MySQL中IF()、IFNULL()、NULLIF()、ISNULL()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL日期格式化yyyy-mm-dd詳解(DATE_FORMAT()函數(shù))
MySQL提供了很多功能強大、方便易用的函數(shù),在進行數(shù)據(jù)庫管理以及數(shù)據(jù)的查詢和操作時,幫助我們提高對數(shù)據(jù)庫的管理效率,下面這篇文章主要給大家介紹了關(guān)于MySQL日期格式化yyyy-mm-dd(DATE_FORMAT()函數(shù))的相關(guān)資料,需要的朋友可以參考下2023-01-01Mysql實現(xiàn)合并多個分組(GROUP_CONCAT及其平替函數(shù))
MySQL 中提供了多種合并字符串的函數(shù)和操作方法,包括 GROUP_CONCAT、CONCAT_WS 和 CONCAT 等,本文介紹了 MySQL 中 GROUP_CONCAT 函數(shù)以及 CONCAT_WS、CONCAT 函數(shù)并通過示例代碼演示了它們的用法,感興趣的可以了解一下2023-10-10MySQL性能優(yōu)化之一條SQL在MySQL中執(zhí)行的過程詳解
天天和數(shù)據(jù)庫打交道,一天能寫上幾十條 SQL 語句,但你知道系統(tǒng)是如何和數(shù)據(jù)庫交互的嗎?下面這篇文章主要給大家介紹了關(guān)于MySQL性能優(yōu)化之一條SQL在MySQL中執(zhí)行的過程的相關(guān)資料,需要的朋友可以參考下2023-02-02