Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >sql中的 IF 条件语句的用法[通俗易懂]

sql中的 IF 条件语句的用法[通俗易懂]

作者头像
全栈程序员站长
发布于 2022-09-07 03:24:30
发布于 2022-09-07 03:24:30
3.3K0
举报

大家好,又见面了,我是你们的朋友全栈君。

IF 表达式

IF( expr1 , expr2 , expr3 )

expr1 的值为 TRUE,则返回值为 expr2 expr1 的值为FALSE,则返回值为 expr3

如下:

代码语言:text
AI代码解释
复制
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语句该怎样去写呢?

代码语言:c#
AI代码解释
复制
select *,if(book_name='java','已卖完','有货') as product_status from book where price =50
  • 1

IFNULL 表达式

IFNULL( expr1 , expr2 )

在 expr1 的值不为 NULL的情况下都返回 expr1,否则返回 expr2,如下:

代码语言:text
AI代码解释
复制
SELECT IFNULL(NULL,"11"); -> 11 SELECT IFNULL("00","11"); -> 00

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/154724.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
mysql数据库 isnull,ifnull,nullif的区别和用法
ISNULL(expr) 如果expr的值为null,则返回1,如果不为null,则返回0; 例如,查找一个订单的状态,如果状态为null则返回1,不为空则返回0 select isnull(stat
仙士可
2019/12/18
1.9K0
Mariadb MySQL逻辑条件判断相关语句、函数使用举例介绍
说明:假如expr1 不为NULL,则 IFNULL() 的返回值为expr1; 否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。
授客
2019/09/11
2.3K0
Mariadb MySQL逻辑条件判断相关语句、函数使用举例介绍
IFNULL和NULLIF
nullif和ifnull是数据库中常用的两个函数。不同的数据库可能会略微有差异。
cultureSun
2023/09/21
4530
IFNULL和NULLIF
MYSQL IFNULL使用功能
稍后的MYSQL IFNULL使用此功能的特定叙事,供大家参考学习,假设你MYSQL IFNULL条款的使用功能类别遇到似问题。最好看。
全栈程序员站长
2022/07/05
4980
Oracle中的NVL函数「建议收藏」
Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数。主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以。
全栈程序员站长
2022/09/14
4.8K0
YashanDB IF函数
IF函数有3个expr参数,若expr1为TRUE,返回expr2,若expr1为FALSE,返回expr3。
用户10349277
2025/06/06
790
oralce入门学习[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155152.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/06
7370
SQL语句小tips(持续更新)
expr1 的值为 TRUE,则返回值为 expr2  expr1 的值为FALSE,则返回值为 expr3
千往
2018/08/30
6980
Oracle 函数大全[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/154754.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/07
3.1K0
Oracle 函数大全[通俗易懂]
mysql timestampdiff>_MySQL TIMESTAMPDIFF()用法及代码示例
获取两个指定的时间值之间的差异,其中以YYYY-MM-DD HH-MM-SS的格式指定时间。这里expr2大于expr1,因此返回值为正。
全栈程序员站长
2022/09/06
1.9K0
YashanDB NVL2函数
用户10349277
2025/06/19
920
Mysql中的条件语句if、case
Mysql中的条件语句在我们对数据进行转换的时候比较有用,这样就不需要创建中转表。
大江小浪
2018/07/24
7.6K0
PL/SQL 学习-NVL函数[通俗易懂]
Oracle : Nvl NVL函数: NVL函数是将NULL值的字段转换成默认字段输出。
全栈程序员站长
2022/09/14
1.3K0
最新时间注入攻击和代码分析技术
访问该网址时,页面返回yes;在网址的后面加上一个单引号,即可再次访问,最后页面返回no。这个结果与Boolean注入非常相似,本节将介绍遇到这种情况时的另外一种注入方法——时间注入。它与Boolean注入的不同之处在于,时间注入是利用sleep()或benchmark()等函数让MySQL的执行时间变长。时间注入多与if(expr1,expr2,expr3)结合使用,此if语句的含义是,如果expr1是TRUE,则if()的返回值为expr2;反之,返回值为expr3。所以判断数据库库名长度的语句应如下:
Ms08067安全实验室
2023/09/24
3150
最新时间注入攻击和代码分析技术
shell 循环语句[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163943.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/15
5680
和Null有关的函数(r3笔记第48天)
关于null相关的函数在日常的工作中还有比较实用的,可能会碰到各种和Null校验相关的情况,大体有以下几种。 case when decode nvl nvl2 lnnvl nullif coalsce -->case when case when算是这个比较通用的方法,可以支持各种复杂的逻辑判断,对于Null的校验也不在话下,可能相对来说程序会略显臃肿。在性能方面还没有做更多的测试,暂时不好评估。 SQL> select case when (1=1) then 2 end from dual;
jeanron100
2018/03/15
9910
Oracle decode函数
decode函数在Oracle SQL查询语句中的使用非常广泛,也经常应用到PL/SQL语句块中。
星哥玩云
2022/08/17
1K0
mysql高级函数FIND_IN_SET,ENUM和SET,LOCATE,ELT,FIELD,INTERVAL,COUNT,CAST,NULLIF,ISNULL,IFNULL,IF,CONVERT,C
mysql高级函数FIND_IN_SET,ENUM和SET,LOCATE,ELT,FIELD,INTERVAL,COUNT,CAST,NULLIF,ISNULL,IFNULL,IF,CONVERT,COALESCE
oktokeep
2024/10/09
3260
mysql高级函数FIND_IN_SET,ENUM和SET,LOCATE,ELT,FIELD,INTERVAL,COUNT,CAST,NULLIF,ISNULL,IFNULL,IF,CONVERT,C
YashanDB NULLIF函数
NULLIF函数用于对两个参数的值进行比较,相等时返回NULL,不相等时返回expr1的值。本函数常用于防止程序中因为出现除以零错误而抛出异常。
用户10349277
2025/06/17
780
总结MySQL和Oracle的语法区别
Oracle左连接、右连接可以使用(+)来实现,MySQL只能使用left join ,right join等关键字。 Oracle
程序员云帆哥
2022/05/12
1.9K0
相关推荐
mysql数据库 isnull,ifnull,nullif的区别和用法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档