Sql 删除字符串中的所有空白
我必须删除字符串Sql 删除字符串中的所有空白,sql,oracle,removing-whitespace,Sql,Oracle,Removing Whitespace,我必须删除字符串'5000000,5'到'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,
'5000000,5'到'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”转换为数字,因为转换数字失败。
谢谢您可以尝试删除任何非数字字符,如逗号(,
)
我认为问题在于你的NLS\u数字\u字符,应该可以
select to_number('5 000 000,5', '9G999G999D0', 'NLS_NUMERIC_CHARACTERS = '', ''')
from dual
使用REGEXP\u替换
和空格
类
从dual:
使用替换
从dual中选择REPLACE('your_value',chr(32),''):
结果是什么:从dual中选择REPLACE('5000,5','');您只需稍微调整一下查询即可获得正确的输出。看我的答案。我想你有打字错误。您有'chr(32)
。你的意思不是说'chr(32)
,而是说chr(32)
?
select to_number('5 000 000,5', '9G999G999D0', 'NLS_NUMERIC_CHARACTERS = '', ''')
from dual