我在oracle数据库中有这样的数据 - > 20123,45,数据类型是varchar。 我想将其迁移到NUMBER数据类型的列,将逗号(,)更改为点(。)。 所以预期的结果是20123.45,数据类型是NUMBER,
我该怎么做?
之前感谢:D
答案 0 :(得分:6)
使用
to_number(YourColumnName, FormatMask, NLS_NUMERIC_CHARACTERS = ',.') from ...
select to_number('12345.667677', '99999999D999999', 'NLS_NUMERIC_CHARACTERS = ''.,''')
from dual
select to_number('12345,667677', '99999999D999999', 'NLS_NUMERIC_CHARACTERS = '',.''')
from dual
答案 1 :(得分:0)
另一种方法是
SELECT TO_NUMBER(REPLACE('12345,6789123', ',', '.')) FROM DUAL;
分享并享受。