匿名用户Oracle的decode方法 判断之后两个不同类型之间可以直接赋值吗?
Oracle的decode方法 判断之后两个不同类型之间可以直接赋值吗?
我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
匿名用户Oracle的decode方法 判断之后两个不同类型之间可以直接赋值吗?
没太明白你说的场景,建议举例描述。
对于oracle中的decode函数而言,语法为
decode(参数1,参数2,参数3[,参数4,参数5]...,参数2n+1)
--或
decode(参数1,参数2,参数3[,参数4,参数5]...,参数2n)
其中参数1为被判断值,
对于以上所有场景的返回参数,必须都是同一个类型;
参数1及其所有用于判断的参数也都必须是同一个类型(支持隐式转换),见以下例子
select decode(1,0,2,1,'u4') from dual;--报错,第3个和第5个参数类型不一致
select decode(1,0,2,'u1',4) from dual;--报错,第1个和第4个参数类型不一致
select decode(1,0,'u2',1,'u4') from dual;--通过,第1、2、4个参数类型一致,第3、5个参数类型一致
select decode(1,0,2,'1',4) from dual;--通过,第4个参数可以隐式转换为number,和第一个参数类型一致
select decode(1,0,2,1,'4') from dual;--通过,,第5个参数可以隐式转换为number,和第3个参数类型一致
评论
有用 0
墨值悬赏