2014-09-30 55 views
0

我正在使用Oracle SQL,並且我有一個小問題。將德國格式數字轉換爲國際格式

我有一個varchar列與德國格式的數字,我需要將格式轉換爲國際(無逗號),並將列轉換爲float

例如:

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

是否有能做到這一點的對話功能?如果是這樣,那是什麼?我沒有找到這樣的功能。

回答

2

您可以用TO_NUMBER函數將varchar值轉換成數字值:

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 
+0

謝謝!它正在工作。 – Omri 2014-09-30 10:26:21