时间:2023-10-27来源:系统城装机大师作者:佚名
1 | IF( expr1 , expr2 , expr3 ) |
expr1 的值为 TRUE,则返回值为 expr2
expr1 的值为FALSE,则返回值为 expr3
如下:
1 2 3 4 5 6 |
SELECT IF( TRUE ,1+1,1+2); -> 2 SELECT IF( FALSE ,1+1,1+2); -> 3 SELECT IF(STRCMP( "111" , "222" ), "不相等" , "相等" ); -> 不相等 |
那么这个 IF 有啥用处呢?举个例子:
查找出售价为 50 的书,如果是 java 书的话,就要标注为 已售完
那么对应的SQL语句该怎样去写呢?
1 | select *,if(book_name= 'java' , '已卖完' , '有货' ) as product_status from book where price =50 |
1 | IFNULL( expr1 , expr2 ) |
在 expr1 的值不为 NULL
的情况下都返回 expr1,否则返回 expr2,如下:
1 2 3 4 |
SELECT IFNULL( NULL , "11" ); -> 11 SELECT IFNULL( "00" , "11" ); -> 00 |
if(a,b,c)
a 为 true时,按照条件b
a 为false时,按照条件c
不仅可以用到where,order by 等子句中,也可以用到其他地方如
1 2 3 4 5 6 |
SELECT IF( TRUE ,1,2); -> 1 SELECT IF( FALSE ,1,2); -> 2 SELECT IF(STRCMP( "123" , "234" ), "不相等" , "相等" ); -> 不相等 |
并在其中可以套用其他函数
到此这篇关于sql中的 IF 条件语句的用法的文章就介绍到这了
2023-10-27
SQL中case when用法及使用案例详解2023-10-27
SQL SERVER偏移函数(LAG、LEAD、FIRST_VALUE、LAST _VALUE、NTH_VALUE)2023-10-27
SQL查询中出现笛卡尔积现象的解决方法Java通过JDBC连接SQLServer 2012,出现一些连接问题,从网上查找了很多解决方法,却仍然无法解决。在这里将我遇到的问题及解决方法总结如下,希望可以帮到大家。1、通过端口 1433...
2023-10-27