Sql 如何在Oracle中从varchar中删除空格

Sql 如何在Oracle中从varchar中删除空格,sql,oracle,Sql,Oracle,我需要删除Oracle表中varchar2类型的列值中的所有空格。 例如,2012\u 2psk应该变成2012\u 2psk 我曾尝试使用REPLACE(列名称,,“”),但它不起作用 有人能帮我吗?请尝试: regexp_replace(column_name, '[[:space:]]*','') 请尝试: regexp_replace(column_name, '[[:space:]]*','') 我找到了解决办法。这里没有空格,还有一些其他符号显示为空格。所以下一个代码运行良好:

我需要删除Oracle表中varchar2类型的列值中的所有空格。 例如,
2012\u 2psk
应该变成
2012\u 2psk

我曾尝试
使用REPLACE(列名称,,“”)
,但它不起作用
有人能帮我吗?

请尝试:

regexp_replace(column_name, '[[:space:]]*','')
请尝试:

regexp_replace(column_name, '[[:space:]]*','')

我找到了解决办法。这里没有空格,还有一些其他符号显示为空格。所以下一个代码运行良好:

SELECT regexp_replace(docnum, '\W','') FROM tmp_uploadtable;

我找到了解决办法。这里没有空格,还有一些其他符号显示为空格。所以下一个代码运行良好:

SELECT regexp_replace(docnum, '\W','') FROM tmp_uploadtable;

但是
replace
确实有效!在我的例子中,REPLACE返回传入的相同字符串。Oracle 11g R20替换不起作用是什么意思?它确实起作用了,所以你一定是做错了什么。请说明如何在代码中使用替换。从tmp_uploadtable中选择替换(docnum),'','','';一个建议。DOCNUM列的值是从Excel表导入的。它们是否可能包含在执行SELECT语句时显示为空白的其他隐藏字符?但是
replace
确实有效!在我的例子中,REPLACE返回传入的相同字符串。Oracle 11g R20替换不起作用是什么意思?它确实起作用了,所以你一定是做错了什么。请说明如何在代码中使用替换。从tmp_uploadtable中选择替换(docnum),'','','';一个建议。DOCNUM列的值是从Excel表导入的。它们是否可能包含在执行SELECT语句时显示为空白的其他隐藏字符?我已经试过了。它也不起作用:(oracle的哪个版本?11G 11.2版。64位editionOk…但它在oracle 11G R2中起作用。我已经试过了。它也不起作用:(oracle的哪个版本?11G 11.2版。64位editionOk…)但它在oracle 11G R2中起作用。