当前位置: 代码迷 >> Oracle开发 >> 路过的,请假上上!关于ORACLE的DECODE的,多谢哦
  详细解决方案

路过的,请假上上!关于ORACLE的DECODE的,多谢哦

热度:79   发布时间:2016-04-24 07:21:23.0
路过的大虾,请假下下!关于ORACLE的DECODE的,谢谢哦!
各位大虾,请教下面第一句正确,第二句为什么会报无效数字的错误呢?现行谢过!

SELECT --正确
decode(sign(length(T.VALUE_DATE)-8),0,to_char(to_date(T.VALUE_DATE,'YYYYMMDD'),'DD/MM/YYYY'),1,to_char(to_date(T.VALUE_DATE,'YYYYMMDD'),'DD/MM/YYYY'),T.VALUE_DATE) VALUE_DATE
FROM T

SELECT --报错:无效数字 
decode(sign(length(T.VALUE_DATE)-8),-1,T.VALUE_DATE,to_char(to_date(T.VALUE_DATE,'YYYYMMDD'),'DD/MM/YYYY')) VALUE_DATE
FROM T


------解决方案--------------------
探讨
DECODE的格式是这样的:
DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )

引用:

decode(sign(length(T.VALUE_DATE)-8),-1,T.VALUE_DATE,to_char(to_date(T.VALUE_DAT...
这里T.VALUE_DATE后面是不是少了……
  相关解决方案