MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)的用法解讀
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)
IF()
IF(expr1,expr2,expr3):
如果expr1的值為true,則返回expr2的值,如果expr1的值為false,則返回expr3的值。類(lèi)似三目運(yùn)算符
IFNULL()
IFNULL(expr1,expr2):
如果expr1的值為null,則返回expr2的值,如果expr1的值不為null,則返回expr1的值。
NULLIF()
NULLIF(expr1,expr2):
如果expr1=expr2成立,那么返回值為null,否則返回值為expr1的值。
SELECT NULLIF('A','A'); -- 輸出結(jié)果:null
SELECT NULLIF('A','B'); -- 輸出結(jié)果:AISNULL()
ISNULL(expr):
如果expr的值為null,則返回1,如果expr1的值不為null,則返回0。
SELECT ISNULL(NULL); -- 輸出結(jié)果:1
SELECT ISNULL('HELLO'); -- 輸出結(jié)果:0INSTR()
INSTR函數(shù)為字符查找函數(shù),其功能是查找一個(gè)字符串在另一個(gè)字符串中首次出現(xiàn)的位置。
在此函數(shù)中可以自定義查找的初始位置,與出現(xiàn)次數(shù)的位置。
在一些特定的sql查詢中可以替換like進(jìn)行模糊查詢,可以代替in判斷包含關(guān)系
- 在abcd中查找a的位置,從第一個(gè)字母開(kāi)始查,查找第一次出現(xiàn)時(shí)的位置
select instr(‘a(chǎn)bcd','a',1,1) from dual; —1 select instr(‘a(chǎn)bcd','c',1,1) from dual; —3 select instr(‘a(chǎn)bcd','e',1,1) from dual; —0
- 應(yīng)用于模糊查詢:instr(字段名/列名, ‘查找字段’)
select code,name,dept,occupation from staff where instr(code, ‘001')> 0;
- 等同于
select code, name, dept, occupation from staff where code like ‘%001%' ;
- 應(yīng)用于判斷包含關(guān)系:
select ccn,mas_loc from mas_loc where instr(‘FH,FHH,FHM',ccn)>0;
- 等同于
select ccn,mas_loc from mas_loc where ccn in (‘FH','FHH','FHM');
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Mysql中isnull,ifnull,nullif的用法及語(yǔ)義詳解
- MySQL中NULLIF?、IFNULL、IF的用法和區(qū)別舉例詳解
- MySql中的IFNULL、NULLIF和ISNULL用法詳解
- MySQL流程控制IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)的使用
- MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)的使用詳解
- mysql中null(IFNULL,COALESCE和NULLIF)相關(guān)知識(shí)點(diǎn)總結(jié)
- MySql中的IFNULL、NULLIF和ISNULL用法詳解
- MYSQL中IFNULL和NULLIF函數(shù)的區(qū)別小結(jié)
相關(guān)文章
Scott?數(shù)據(jù)?映射?MySQL代碼實(shí)現(xiàn)分享
這篇文章主要介紹了Scott?數(shù)據(jù)?映射?MySQL,文章圍繞Scott?數(shù)據(jù)?映射?MySQL的相關(guān)代碼分享給大家,具有一定的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助2022-02-02
MySQL對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行復(fù)制的基本過(guò)程詳解
這篇文章主要介紹了MySQL對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行復(fù)制的基本過(guò)程,解讀了Slave的一些相關(guān)配置,需要的朋友可以參考下2015-11-11
抽取oracle數(shù)據(jù)到mysql數(shù)據(jù)庫(kù)的實(shí)現(xiàn)過(guò)程
今天小編就為大家分享一篇關(guān)于抽取oracle數(shù)據(jù)到mysql數(shù)據(jù)庫(kù)的實(shí)現(xiàn)過(guò)程,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
Mysql實(shí)現(xiàn)合并多個(gè)分組(GROUP_CONCAT及其平替函數(shù))
MySQL 中提供了多種合并字符串的函數(shù)和操作方法,包括 GROUP_CONCAT、CONCAT_WS 和 CONCAT 等,本文介紹了 MySQL 中 GROUP_CONCAT 函數(shù)以及 CONCAT_WS、CONCAT 函數(shù)并通過(guò)示例代碼演示了它們的用法,感興趣的可以了解一下2023-10-10

