5

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

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

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

存在:P14_search_text我要修改的字符串。

有什么帮助吗?

4

5 回答 5

7

怎么样:

regexp_replace(:P14_search_text, '[[:space:]]*', '');
于 2012-12-12T18:17:55.477 回答
5

尝试这个:

     Select Replace(:P14_search_text, ' ', '');
于 2012-12-12T18:20:52.550 回答
3

我尝试了与@Don 建议的方法相同的方法,它适用于 oracle 10 xe。

select replace('     lkjds  d   s   adkj      ', ' ', '') from dual

结果

lkjdsdsadkj
于 2012-12-13T17:42:48.573 回答
3

希望这对你有帮助,

SELECT REGEXP_REPLACE(' Any  String ','( ){1,}','') "REGEXP_REPLACE"  FROM DUAL;
SELECT REGEXP_REPLACE('  ','( ){1,}','') "REGEXP_REPLACE"  FROM DUAL;
于 2012-12-12T18:27:45.120 回答
2

以下查询在 oracle 中对我有用:

select
    :tst_val AS INPUT,
    regexp_replace(:tst_val, '[[:space:]]*', '') AS MODIFIED
from
    dual

如果此查询对您不起作用,您能告诉我们您得到什么结果吗?

于 2012-12-12T18:27:48.600 回答