删除字符串中的所有空格

时间:2014-12-10 07:52:04

标签: sql oracle removing-whitespace

我必须删除字符串'5 000 000,5' to '5000000,5'中的所有空格。

我在下面尝试了3但是没有用

select replace('5 000 000,5',' ','') from dual; 
select regexp_replace('5 000 000,5', '[[:space:]]*','') from dual;
select regexp_replace('5 000 000,5', ' ','') from dual;

或者任何人都知道如何将此字符串'5 000 000,5'转换为数字,因为TO_NUMBER失败。 感谢

3 个答案:

答案 0 :(得分:3)

  1. 使用 REGEXP_REPLACESPACE
  2. Select regexp_replace('your_value', '[[:space:]]+', '') from dual:

    1. 使用 REPLACE
    2. Select REPLACE('your_value', chr(32), '') from dual:

答案 1 :(得分:2)

您可以尝试此操作并删除任何非数字字符,例如逗号(,

SELECT  to_number(regexp_replace('5 000 000,5', '[^0-9]', '')) FROM    dual;

答案 2 :(得分:2)

我认为问题是您的NLS_NUMERIC_CHARACTERS,应该可以正常工作

select to_number('5 000 000,5', '9G999G999D0', 'NLS_NUMERIC_CHARACTERS = '', ''')
from dual