1. 程式人生 > >【LeetCode】627.交換工資-學習筆記-IF函式的使用

【LeetCode】627.交換工資-學習筆記-IF函式的使用

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
  • 1
  • 2
  • 3
  • 4
  • 5