sql中的 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



轉自 https://blog.csdn.net/zjq_1314520/article/details/62467086


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM