sql中的 IF 条件语句的用法

IF 表达式

IF( expr1 , expr2 , expr3 )

expr1 的值为 TRUE,则返回值为 expr2 
expr2 的值为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://www.cnblogs.com/apolloren/p/8511325.html

时间: 2024-10-16 19:45:51

sql中的 IF 条件语句的用法的相关文章

SQL中循环和条件语句

1 1.if语句使用示例: 2 declare @a int 3 set @a=12 4 if @a>100 5 begin 6 print @a 7 end 8 else 9 begin 10 print 'no' 11 end 12 13 2.while语句使用示例: 14 declare @i int 15 set @i=1 16 while @i<30 17 begin 18 insert into test (userid) values(@i) 19 set @i=@i+1 20

转载 sql中的group by 和 having 用法解析

sql中的group by 和 having 用法解析 --sql中的group by 用法解析:-- Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”.--它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理.--注意:group by 是先排序后分组:--举例子说明:如果要用到group by 一般用到的就是“每这个字” 例如说明现在有一个这样的表:每个部门有多少人 就要用到分组的技术select Depar

SQL中的where条件,在数据库中提取与应用浅析

来源:深入MySQL内核 1        问题描述 一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣.当然,要完整描述一条SQL在数据库中的生命周期,这是一个非常巨大的问题,涵盖了SQL的词法解析.语法解析.权限检查.查询优化.SQL执行等一系列的步骤,简短的篇幅是绝对无能为力的.因此,本文挑选了其中的部分内容,也是我一直都想写的一个内容,做重点介绍: 给定一条SQL,如何提取其中的where条件?where条件中的每个子条件,在SQL执行的过程中有分别起着什么样的作用

MySql常见数据类型,SQL执行顺序,条件语句,转储,查看表中字段属性

数据类型: 1 数字: Tinyint:小数据 用于保存一些范围的整数数值范围 有符号: -128-127 无符号: 0-255 int 整数 数据类型用于保存一些范围的整数数值范围 有符号: -2147483648--2147483647 无符号: 0-4294967295 Bigint 大整数 数据类型用于保存一些范围的整数数值范围: 有符号: -9223372036854775808--9223372036854775807 无符号: 0-18446744073709551615 floa

sql中的group by 和 having 用法解析

--sql中的group by 用法解析:-- Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”.--它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理.--注意:group by 是先排序后分组:--举例子说明:如果要用到group by 一般用到的就是“每这个字” 例如说明现在有一个这样的表:每个部门有多少人 就要用到分组的技术select DepartmentID as '部门名称',COUNT(*) a

SQL 视图 局部变量 全局变量 条件语句 事务 触发器

一.视图 1.视图是一张虚拟表,他所存储的不是实际数据,而是查询语句,但我们可以对视图进行像数据表一样的操作. 2.为什么使用视图呢?我的理解是:1.在远程传输数据时,可以避免过长的查询字符,减少流量.2.他可以简化繁杂的多表嵌套查询语句.3.安全性,防止非法用户访问敏感数据,因为我们可以通过创建视图展示给用户,我们想要给他们查看的数据. 3.视图的创建 create view vw_city as select cityName from city --这个查询语句可以随便的写,如果是些多层次

SQL中JOIN和UNION区别及用法

转载:http://chengheng1984.blog.163.com/blog/static/17947412201012215738844/ JOIN用于按照ON条件联接两个表,主要有四种: INNER JOIN:内部联接两个表中的记录,仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行.我理解的是只要记录不符合ON条件,就不会显示在结果集内. LEFT JOIN / LEFT OUTER JOIN:外部联接两个表中的记录,并包含左表中的全部记录.如果左表的某记录在右表中没有匹配记

Python中,While循环语句的用法及注意事项

今天跟着老师学习了While语句的用法,听老师讲的时候是听明白了,感觉好简单,但是自己做一遍的时候出了好多处的错误.我犯的错误都是新手常犯的,因此我觉得有必要把这次记录下来,提醒自己也提醒跟我一样的小白要注意一下. 这次做的是猜年龄的小程序,案例代码如下: 1 age=50 2 flag = True 3 while flag: 4 usr_input=int(input("请输入你猜测的年龄:")) 5 if usr_input == age: 6 print("恭喜,回答

SqlServer中循环和条件语句示例!

--                                  ╔════════╗ -- ===============================  ║ if语句使用示例 ║ --                                  ╚════════╝ declare @a int set @a=12 if @a>100 begin print @a end else begin print 'no' end --