将德语格式数转换为国际格式

时间:2014-09-30 09:05:53

标签: sql oracle

我使用的是Oracle SQL,我有一个小问题。

我有一个varchar列,其中包含德语格式的数字,我需要将格式转换为国际格式(不含逗号),并将列转换为float

例如:

4,33 --> 4.11
33.000.000,01 --> 33000000.01
77.000,00 --> 77000

是否有可以进行此对话的功能?如果是这样,它是什么?我没有找到这样的功能。

1 个答案:

答案 0 :(得分:2)

您可以将带有TO_NUMBER函数的varchar值转换为NUMBER值:

select to_number('4,33', '999G999G999D99', 'NLS_NUMERIC_CHARACTERS = '',.''') from dual union
select to_number('33.000.000,01', '999G999G999D99', 'NLS_NUMERIC_CHARACTERS = '',.''') from dual union
select to_number('70.000,00', '999G999G999D99', 'NLS_NUMERIC_CHARACTERS = '',.''') from dual