【问题标题】:Removing spaces from a string, SQL从字符串中删除空格,SQL
【发布时间】:2012-12-14 01:42:48
【问题描述】:

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

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

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

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

有什么帮助吗?

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    怎么样:

    regexp_replace(:P14_search_text, '[[:space:]]*', '');
    

    【讨论】:

    • 它也不起作用:/我开始认为问题出在我的代码中,但我就是找不到缺陷......无论如何,谢谢(:
    【解决方案2】:

    试试这个:

         Select Replace(:P14_search_text, ' ', '');
    

    【讨论】:

    • 那么,你从中得到了什么?
    • 我在搜索文本框上应用了这个,所以当我只输入一个空格时,它很好,但是当我输入多个空格时,它就不起作用了。
    【解决方案3】:

    希望对你有帮助,

    SELECT REGEXP_REPLACE(' Any  String ','( ){1,}','') "REGEXP_REPLACE"  FROM DUAL;
    SELECT REGEXP_REPLACE('  ','( ){1,}','') "REGEXP_REPLACE"  FROM DUAL;
    

    【讨论】:

      【解决方案4】:

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

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

      结果

      lkjdsdsadkj
      

      【讨论】:

        【解决方案5】:

        以下查询在 oracle 中适用于我:

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

        如果此查询不适合您,您能告诉我们您得到的结果吗?

        【讨论】:

        • 它不起作用,这就是我要完成的工作: bobooks.owner :app_user and (:P14_search_text IS NULL or regexp_replace(:P14_search_text, '[[:space:]] *', '') = '' or ((lower(:P14_CATEGORY) 'title' or (lower(:P14_CATEGORY) = 'title' and lower(bobooks.title) like '%' || lower(:P14_search_text) ) || '%')) and (lower(:P14_CATEGORY) 'author' or (lower(:P14_CATEGORY) = 'author' and lower(bobooks.author) like '%' || lower(:P14_search_text) | | '%'))))
        • 你是在sql server数据库还是oracle数据库?
        • 查询是没有返回任何内容还是给你一个错误?我的答案中的查询呢?它返回什么?
        • 它没有返回任何内容,它的工作方式好像只更改了 1 个空格,两个空格后我什么也没有收到,没有数据,另一方面,当我只输入一个空格时,我收到所有可用的数据,正如计划的那样,您的查询也是如此
        • 尝试将表达式更改为regexp_replace(:P14_search_text, '[[:space:]]*', '', 1, 0) 以明确告诉它替换所有出现。默认情况下它应该这样做,但显然不是。
        猜你喜欢
        • 2018-06-18
        • 2011-07-27
        • 2020-02-02
        • 1970-01-01
        • 2011-09-21
        • 2017-11-20
        相关资源
        最近更新 更多