早教吧 育儿知识 作业答案 考试题库 百科 知识分享

todate外面套用decode后值发生变化selectdecode('99990828',null,null,todate('99990828','yyyymmdd'))a,todate('99990828','yyyymmdd')bfromdual;查询结果:28-8月-999999/8/28为什么套用decode的后就变成了1999年

题目详情
to_date外面套用decode后值发生变化
select decode('99990828',null,null,to_date('99990828','yyyymmdd')) a,
to_date('99990828','yyyymmdd') b from dual;
查询结果:
28-8月 -99 9999/8/28
为什么套用decode的后就变成了1999年
▼优质解答
答案和解析
这个无法用decode函数,用case when 就可以,给你个例子吧%D%Aselect (case when (submittime > to_date('2011-1-1', 'yyyy-mm-dd') and submittime < to_date('2012-1-1', 'yyyy-mm-dd')) then '2011' else '其他' end) da,submittime %D%A from resultinfo%D%A意思是当日期在2011-1-1 和2012-1-1之间的输出2011,否则输出其他