我正在尝试编写一个SQL查询来删除所有空格,这样如果一个字符串只有空格,那么最后一个字符串就是''。
我已经尝试过这段代码,但显然它不适用于多个空间:
regexp_replace(:P14_search_text, '( ){1,}', '')
成为:P14_search_text
我要修改的字符串。
任何帮助?
答案 0 :(得分:7)
怎么样:
regexp_replace(:P14_search_text, '[[:space:]]*', '');
答案 1 :(得分:4)
试试这个:
Select Replace(:P14_search_text, ' ', '');
答案 2 :(得分:3)
希望这会对你有所帮助,
SELECT REGEXP_REPLACE(' Any String ','( ){1,}','') "REGEXP_REPLACE" FROM DUAL;
SELECT REGEXP_REPLACE(' ','( ){1,}','') "REGEXP_REPLACE" FROM DUAL;
答案 3 :(得分:2)
以下查询适用于oracle:
select
:tst_val AS INPUT,
regexp_replace(:tst_val, '[[:space:]]*', '') AS MODIFIED
from
dual
如果此查询不适合您,您能告诉我们您的结果是什么吗?
答案 4 :(得分:2)
我尝试了与@Don建议相同的方法,它适用于oracle 10 xe。
select replace(' lkjds d s adkj ', ' ', '') from dual
结果
lkjdsdsadkj