ORACLE - 字符串到数字

MrM*_*ime 2 string oracle numbers

我在桌子上的列有一点问题.该列是名为"prize"的Varchar.数据类似于:

00008599
00004565
00001600
etc...
Run Code Online (Sandbox Code Playgroud)

他们必须成为:

85.99
45.65
16.00
etc...
Run Code Online (Sandbox Code Playgroud)

我尝试过to_number函数,但它不起作用.就像是:

SELECT to_number(prize, '999999.99') FROM TABLE
Run Code Online (Sandbox Code Playgroud)

错误是:ORA-01722

Fra*_*itt 8

您可以使用LTRIM去除前导零并除以100:

SELECT to_number(ltrim(prize, '0')) / 100 FROM table
Run Code Online (Sandbox Code Playgroud)


小智 5

请注意,您自己必须处理字符串放大 100 倍的事实。最简单的方法应该是这样的:

SELECT to_number(prize)/100 FROM TABLE
Run Code Online (Sandbox Code Playgroud)