IF 表達式
IF( expr1 , expr2 , expr3 )
expr1 的值為 TRUE,則返回值為 expr2
expr1 的值為FALSE,則返回值為 expr3
如下:
SELECT IF(TRUE,1+1,1+2); -> 2 SELECT IF(FALSE,1+1,1+2); -> 3 SELECT IF(STRCMP("111","222"),"不相等","相等"); -> 不相等
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
那么這個 IF 有啥用處呢?舉個例子:
查找出售價為 50 的書,如果是 java 書的話,就要標注為 已售完
那么對應的SQL語句該怎樣去寫呢?
select *,if(book_name='java','已賣完','有貨') as product_status from book where price =50
- 1
IFNULL 表達式
IFNULL( expr1 , expr2 )
在 expr1 的值不為 NULL
的情況下都返回 expr1,否則返回 expr2,如下:
SELECT IFNULL(NULL,"11"); -> 11 SELECT IFNULL("00","11"); -> 00
轉自 https://blog.csdn.net/zjq_1314520/article/details/62467086