我想把一个字符串转换成一个小数位数。例如:
我试过了
从dual中选择TO_NUMBER('04.0','99.99');
但是它不会将字符串转换为十进制数。相反,它将转换为整数(4)。
发布于 2019-02-13 16:32:53
但是它不会将字符串转换为十进制数。相反,它将转换为整数(4)。
不怎么有意思。所显示数字的格式完全依赖于客户端( SQL * plus / specified等),与Oracle内部存储数字的方式无关,这取决于为该列指定的精度。
为了以您想要的格式查看数字,而不管客户端是什么,并假设您的区域的十进制分隔符是'.'
( NLS_NUMERIC_CHARACTERS
是'.,'
),您可以使用TO_CHAR
SELECT TO_CHAR('04.0','0D9') FROM dual;
4.0
发布于 2019-02-13 16:29:07
你可以试试TO_CHAR
从dual中选择TO_CHAR('04.0','99.9');
发布于 2019-02-15 14:24:59
如下所示声明数字变量
number(4,1);
示例:
declare
pizza number(4,1);
begin
pizza := 4.1;
DBMS_OUTPUT.put_line(TO_CHAR(pizza,'0D9'));
end;
https://stackoverflow.com/questions/54674664
复制相似问题