DECODE 与CASE WHEN 的比较】的更多相关文章

Decode和case都可以实现SQL中的条件结构,下面为用法示例: select id,name,score,decode(floor(score/20),5,'A',4,'B',3,'C',2,'D','E') as grade from tb_score01 order by grade 运行情况: SQL> select id,name,score,decode(floor(score/20),5,'A',4,'B',3,'C',2,'D','E') as grade from tb_s…
对于CASE与DECODE其实并没有太多的区别,他们都是用来实现逻辑判断.Oracle的DECODE函数功能很强,灵活运用的话可以避免多次扫描,从而提高查询的性能.而CASE是9i以后提供的语法,这个语法更加的灵活,提供了IF THEN ELSE的功能.想要知道他们具体的用法,我们先来看看他们的语法: CASE表达式语法: CASE还有另外一种语法: DECODE语法就相对简单的多,DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果…
今天做项目的时候遇到一个oracle数值转换的问题,按需求需要对匹配系统时间进行固定赋值,为了避免增加复杂度并易于维护,尽量不要使用存储过程或触发器,最好是使用oracle 自带函数. 如: SQL> select to_char(sysdate,'yyyyMMddhh24mi') as time from dual; TIME------------201602292302 需要对年月日时分的分做判断,若系统时间分钟值大于或等于30,则值固定为30 ,若值小于30 则判断为0: 首先想到的是用…
表结构如下: 将money<50的显示为贫农,money<80的显示为中农,其他的显示为富农,sql 语句如下 select name, case then '贫农' then '中农' else '富农' end results from t2 查询结果如下: 使用decode的方式: ,),'贫农', ), '中农', '富农') from t2 注:sign函数返回一个数数值的正负标识, 语法如下:sign( number )number 要测试标志的数字.If number <…
--decode条件判断函数 ,,,,,) from dual --需求:不通过连表查询,显示业主类型名称列的值 ,,,'商业','其他') from t_owners --case when then写法 select name,( case ownertypeid then '居民' then '事业单位' then '商业' else '其他' end )from t_owners --case when then 相对灵活的写法 select name,( case then '居民'…
--建表 create table kecheng( id NUMBER, name VARCHAR2(20), course VARCHAR2(20), score NUMBER); --插入数据insert into kecheng (id, name, course, score)values (1, '张三', '语文', 67);insert into kecheng (id, name, course, score)values (1, '张三', '数学', 76);insert…
1.DECODE 只有Oracle 才有,其它数据库不支持; 2.CASE WHEN的用法, Oracle.SQL Server. MySQL 都支持; 3.DECODE 只能用做相等判断,但是可以配合sign函数进行大于,小于,等于的判断,CASE when可用于=,>=,<,<=,<>,is null,is not null 等的判断; 4.DECODE 使用其来比较简洁,CASE 虽然复杂但更为灵活; 5.另外,在decode中,null和null是相等的,但在case…
语法 decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) select * from reglike; ,),'aaa','yes','no') decode from reglike;     语法 case when 条件1 then 值1 when 条件2 then 值2 ... when 条件n then 值n else 缺省值 end select * from reglike; select case when substr(name,1,3)='aa…
百度百科: DECODE函数,是ORACLE公司的SQL软件ORACLE PL/SQL所提供的特有函数计算方式,以其简洁的运算方式,可控的数据模型和灵活的格式转换而闻名. DECODE 中的if-then-else逻辑 在逻辑编程中,经常用到If – Then –Else 进行逻辑判断.在DECODE的语法中,实际上就是这样的逻辑处理过程.它的语法如下: DECODE(expr, if1, then1, if2,then2, if3,then3, . . . else ) expr表示一个表达式…
1.DECODE 只有Oracle 才有,其它数据库不支持; 2.CASE WHEN的用法, Oracle.SQL Server. MySQL 都支持; 3.DECODE 只能用做相等判断,但是可以配合sign函数进行大于,小于,等于的判断,CASE when可用于=,>=,<,<=,<>,is null,is not null 等的判断; 4.DECODE 使用其来比较简洁,CASE 虽然复杂但更为灵活; 5.另外,在decode中,null和null是相等的,但在case…