关于decode方法返回类型

编程入门 行业动态 更新时间:2024-10-11 23:25:27

关于decode方法返回<a href=https://www.elefans.com/category/jswz/34/1771355.html style=类型"/>

关于decode方法返回类型

昨天同事sql出了点bug,结果给他调sql时发现 了这个问题

首先是oracle 11g中,代码示列如下:

select decode(haha,'',0,haha)|| '%' haha  from (select   to_char(125/10000, 'fm9999990.9999') as haha  from dual);

你会得到如下执行结果

.0125%

可是我在第一步給计算结果进行了to_char()为什么小数点前面的值没有了呢?

于是执行了里面一层查询

select   to_char(125/10000, 'fm9999990.9999') || '%'as haha  from dual

结果确实是

0.0125

那么问题出现就出现在了外层查询,

在外层查询中进行了decode和字符串拼接(||)操作, 在执行

 
select   to_char(125/10000, 'fm9999990.9999')||'%' as haha  from dual

得到:

0.0125%

这里说明了这里的如果decode()返回是肯定不是char类型,这里的haha发生了类型转换,

可是这里haha是缺省值,是它本身,这里注意到这里如果是‘’的时候返回是0,而不是字符串此时执行

 select decode(haha,'','0',haha)|| '%' haha  from (select   to_char(125/10000, 'fm999

更多推荐

关于decode方法返回类型

本文发布于:2024-03-09 19:34:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1725922.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:类型   方法   decode

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!