case when then else语句使用
已知员工表emp表结构及数据如下
查询员工姓名和姓名中是否含有字母A的信息
- 如果字符A在姓名的首位,则显示’字符A在首位’
- 如果字符A在姓名的末位,则显示’字符A在末位’
- 如果字符A在姓名中不存在,则显示’没有字符A’
- 其他情况显示’字符A在中间’
mysql
SELECT ename,
case LOCATE('A',ename)
when 1 THEN '字母A在首位'
when CHAR_LENGTH(ename) THEN '字母A在末位'
when 0 THEN '没有字母A'
else '字母A在中间'
END '名称类别'
FROM emp
查询结果
Postgresql
SELECT ename,
case position('A' in ename)
when 1 THEN '字母A在首位'
when length(ename) THEN '字母A在末位'
when 0 THEN '没有字母A'
else '字母A在中间'
END 名称类别
FROM emp
本文介绍如何使用 CASE WHEN 语句在 MySQL 和 PostgreSQL 中查询员工姓名中字母 A 的位置,并根据不同位置返回特定字符串。通过具体示例展示了两种数据库环境下实现相同功能的方法。




被折叠的 条评论
为什么被折叠?



