从字符串中删除空格,SQL

时间:2012-12-12 18:13:21

标签: sql oracle

我正在尝试编写一个SQL查询来删除所有空格,这样如果一个字符串只有空格,那么最后一个字符串就是''。

我已经尝试过这段代码,但显然它不适用于多个空间:

regexp_replace(:P14_search_text, '( ){1,}', '')

成为:P14_search_text我要修改的字符串。

任何帮助?

5 个答案:

答案 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