我想将字符串转换为小数点后一位的数字。 例如:
我尝试过
从双中选择TO_NUMBER('04 .0','99.99');
但是不会将字符串转换为十进制数字。而是将其转换为整数(4)。
答案 0 :(得分:0)
您可以尝试使用TO_CHAR
从对偶中选择TO_CHAR('04 .0','99.9');
答案 1 :(得分:0)
但是不会将字符串转换为十进制数字。相反,它 转换为整数(4)。
不是。显示的数字格式完全取决于客户端(SQL * plus / SQL Developer等),与Oracle内部存储数字的方式无关,这取决于为该列指定的精度。
为了无论您使用哪种格式,都可以以所需的格式查看数字,并且假设您所在地区的小数点分隔符为'.'
(NLS_NUMERIC_CHARACTERS
为'.,'
),则可以简单地使用{{1} }
TO_CHAR
答案 2 :(得分:0)
像这样声明数字变量
number(4,1);
示例:
declare
pizza number(4,1);
begin
pizza := 4.1;
DBMS_OUTPUT.put_line(TO_CHAR(pizza,'0D9'));
end;