热点新闻
Select进阶查询·流程控制函数
2023-09-01 02:55  浏览:1047  搜索引擎搜索“广企汇”
温馨提示:为防找不到此信息,请务必收藏信息以备急用! 联系我时,请说明是在广企汇看到的信息,谢谢。
展会发布 展会网站大全 报名观展合作 软文发布

一、语法格式:

if语句 语法格式:

if(条件,v1,v2) 如果条件成立,则返回v1,否则返回v2

ifnull语句 语法格式:

ifnull(v1,v2) 如果v1不是空,则返回v1,否则返回v2
相当于如果v1为空,返回默认值的效果

case语句 语法格式 (可以有多个判断添加):

  • 如果字段名等于某个值
    则返回对应位置then后面的值 并结束判断
  • 如果与所有值都不相等
    则返回else后面的结果 并结束判断
语法格式1

CASE 表头名
WHEN 值1 THEN 结果
WHEN 值2 THEN 结果
WHEN 值3 THEN 结果
ELSE 结果
END

语法格式2

CASE
WHEN 判断条件 THEN 结果
WHEN 判断条件 THEN 结果
WHEN 判断条件 THEN 结果
ELSE 结果
END

二、使用案例:

  • if()语句

mysql> select if(1 = 2 , "a","b"); +---------------------+ | if(1 = 2 , "a","b") | +---------------------+ | b | +---------------------+ 1 row in set (0.00 sec)

  • ifnull()语句

# "abc"不为空 返回"abc" mysql> select ifnull("abc","xxx"); +---------------------+ | ifnull("abc","xxx") | +---------------------+ | abc | +---------------------+ 1 row in set (0.00 sec) # null为空 返回"xxx" mysql> select ifnull(null,"xxx"); +--------------------+ | ifnull(null,"xxx") | +--------------------+ | xxx | +--------------------+ 1 row in set (0.00 sec)

  • case语句 语法1

# 输出部门类型 select dept_id, dept_name, case dept_name when '运维部' then '技术部门' when '开发部' then '技术部门' when '测试部' then '技术部门' else '非技术部门' end as 部门类型 from tarena.departments; +---------+-----------+--------------+ | dept_id | dept_name | 部门类型 | +---------+-----------+--------------+ | 1 | 人事部 | 非技术部 | | 2 | 财务部 | 非技术部 | | 3 | 运维部 | 技术部 | | 4 | 开发部 | 技术部 | | 5 | 测试部 | 技术部 | | 6 | 市场部 | 非技术部 | | 7 | 销售部 | 非技术部 | | 8 | 法务部 | 非技术部 |

  • case语句 语法2

# 输出部门类型 mysql> select dept_id,dept_name, -> case -> when dept_name in ("运维部","开发部","测试部") then "技术部" -> else "非技术部" -> end as 部门类型 from tarena.departments; +---------+-----------+--------------+ | dept_id | dept_name | 部门类型 | +---------+-----------+--------------+ | 1 | 人事部 | 非技术部 | | 2 | 财务部 | 非技术部 | | 3 | 运维部 | 技术部 | | 4 | 开发部 | 技术部 | | 5 | 测试部 | 技术部 | | 6 | 市场部 | 非技术部 | | 7 | 销售部 | 非技术部 | | 8 | 法务部 | 非技术部 |

发布人:6bf3****    IP:117.173.23.***     举报/删稿
展会推荐
让朕来说2句
评论
收藏
点赞
转发