| mysql中沒(méi)有isnull,而是用下面的函數: IFNULL(expr1,expr2) 假如expr1 不為 NULL,則 IFNULL() 的返回值為 expr1; 否則其返回值為 expr2。IFNULL()的返回值是數字或是字符串,具體情況取決于其所使用的語(yǔ)境。 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' IFNULL(expr1,expr2)的默認結果值為兩個(gè)表達式中更加“通用”的一個(gè),順序為STRING、 REAL或 INTEGER。假設一個(gè)基于表達式的表的情況, 或MySQL必須在內存儲器中儲存一個(gè)臨時(shí)表中IFNULL()的返回值: CREATE TABLE tmp SELECT IFNULL(1,'test') AS test; 在這個(gè)例子中,測試列的類(lèi)型為 CHAR(4)。 NULLIF(expr1,expr2) 如果expr1 = expr2 成立,那么返回值為NULL,否則返回值為 expr1。這和CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END相同。 mysql> SELECT NULLIF(1,1); -> NULL mysql> SELECT NULLIF(1,2); -> 1 注意,如果參數不相等,則 MySQL 兩次求得的值為 expr1 |
聯(lián)系客服