我必须删除字符串'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失败。 感谢
答案 0 :(得分:3)
REGEXP_REPLACE
和SPACE
类。 Select regexp_replace('your_value', '[[:space:]]+', '') from dual:
REPLACE
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