我需要把字符串转换成小数。
所以字符串值是: 89,333,22.2345
所以我想保留所有的十进制位,并将其转换为: 8933322.2345。
我尝试了以下查询:
从dual中选择to_number(替换(nvl(89,333,22.2345),0),'‘);
这把它打成了893322。但我想得到所有小数的结果:
如果我尝试运行这个查询:
select to_number((replace(nvl(89,333,22.2345),0),',',''),'9999.99') from dual;它会抛出错误。
发布于 2021-04-13 13:23:22
试试这个:
select to_number('89,333,22.2345','99,999,99.9999') from dual;发布于 2021-04-13 13:37:56
我想你是把这个数字作为一个参数。否则你为什么要使用nvl。然后我看到您所需要的查询将类似于
select to_number(replace(nvl('89,333,22.2345','0'),',','')) from dual;你的代码是错误的:
由于apostrophes
(89,333,22.2345),0) -> nvl(‘89,333,22.2345,0)
https://stackoverflow.com/questions/67075676
复制相似问题