
select
(case when
to_char(sysdate,'day')
= '星期五' then 10000
when
to_char(sysdate,'day')
= '星期六' then 8000
else
5000
end) as Money
from dual
----------------------------------
相当于一个函数,case var1 when value1 then result1 else result2 end 和case when boolexpression then result1 else result2 end 格式
例如一个3条件取值的字段:
case when 条件1 then 取值1 when 条件2 then 取值2 else 取值3 end
when后接条件语句,then后为字段取值(数值或字符串等都可以,但类型须一致)。
CASE WHEN 及 SELECT CASE WHEN的用法:
Case具有两种格式。简单Case函数和Case搜索函数。
1、 简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
2、Case搜索函数
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END
种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。
参考资料
新浪博客新浪博客[引用时间2018-1-22]
SQL中Case When的用法如下:
case when类似于编程语言中的if else判断、switch case语句。该语句执行时先对条件进行判断,然后根据判断结果做出相应的 *** 作。
Case具有两种格式:简单Case函数和Case搜索函数。简单Case函数胜在简洁,但是它只适用于这种单字段的单值比较,而Case搜索函数的优点在于适用于所有比较的情况。
注意事项
Case函数在满足了某个符合条件后,剩下的条件将会被自动忽略,因此,即使满足多个条件,执行过程中也只认第一个条件。
在使用 CASE WHEN时,可以把它当作一个逻辑上的匿名字段,字段值根据条件确认,在需要使用字段名时可以是用 as来定义别名。
语句写法有问题
tradeType=
case
when tradeType=1 then '存款'
when tradeType=2 then '取款'
end
as '交易类型',
第一种方法,去掉第一句 tradeType=
第二种方法,去掉最后一句 as '交易类型' (保留逗号) ,同时将第一句改为 '交易类型' =
使用 CASE
CASE 函数是特殊的 Transact-SQL 表达式,它允许按列值显式可选值。数据中的更改是临时的,没有对数据进行永久更改。例如,CASE 函数可以在state列中有 CA 值的行的查询结果集内显示 California。
CASE 函数包含:
CASE 关键字。
需要转换的列名称。
指定要搜索的表达式的 WHEN 子句和指定要替换它们的表达式的 THEN 子句。
END 关键字。
可选的、定义 CASE 函数别名的 AS 子句。
下面示例在查询结果集内显示每个作者所居住州的全名:SELECT au_fname, au_lname,
CASE state
WHEN 'CA' THEN 'California'WHEN 'KS' THEN 'Kansas'WHEN 'TN' THEN 'Tennessee'WHEN 'OR' THEN 'Oregon'WHEN 'MI' THEN 'Michigan'WHEN 'IN' THEN 'Indiana'WHEN 'MD' THEN 'Maryland'WHEN 'UT' THEN 'Utah'END AS StateName
FROM pubsdboauthors
ORDER BY au_lname
select case citemname when '1' then 'A' when '2' then 'B' end citemname from fitemss98
只是一个例子,其他的字段以及条件你酌情调整
以上就是关于请简要说明一下SQL中CASE表达式的用法全部的内容,包括:请简要说明一下SQL中CASE表达式的用法、sql case 的使用方法、SQL条件控制(case when...then...else...end) 的详细解释是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)