数据库case when和decode用法以及区别
Posted 蜜桃婷婷酱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库case when和decode用法以及区别相关的知识,希望对你有一定的参考价值。
case when 表达式是一个通用条件的表达式,可以在表达式有效的任何位置使用
select type from kwmis_credit_special_approve
select
type,case when type=1 then '项目'
when type=2 then '课题(任务)'
else '' end
from kwmis_credit_special_approve
decode也是类似的效果
select decode(n.type, '1', '项目', '2', '课题(任务)') type_name
from kwmis_credit_special_approve n
他们的区别
1.DECODE 只有Oracle 才有,其它数据库不支持;
2.CASE WHEN的用法, Oracle、SQL Server、 mysql 都支持;
3.DECODE 只能用做相等判断,但是可以配合sign函数进行大于,小于,等于的判断,CASE when可用于=,>=,<,<=,<>,is null,is not null 等的判断;
4.DECODE 使用其来比较简洁,CASE 虽然复杂但更为灵活;
以上是关于数据库case when和decode用法以及区别的主要内容,如果未能解决你的问题,请参考以下文章
如何正确使用case when表达式 和 decode函数?