sql >> データベース >  >> RDS >> Oracle

Oracleの文字列の空白(改行およびタブスペース)をトリムする

    Oracle 10gを使用している場合は、 REGEXP_REPLACE かなり柔軟性があります。

    次の文字列をテストとして使用します:

    chr(9) || 'Q   qwer' || chr(9) || chr(10) ||
    chr(13) || 'qwerqwer     qwerty' || chr(9) || 
    chr(10) || chr(13)
    

    [[:space:]] すべての空白を削除し、([[:cntrl:]])|(^\t) 正規表現は、印刷されない文字とタブを削除します。

    select
        tester,
        regexp_replace(tester, '(^[[:space:]]+)|([[:space:]]+$)',null)
                regexp_tester_1,
        regexp_replace(tester, '(^[[:cntrl:]^\t]+)|([[:cntrl:]^\t]+$)',null) 
                regexp_tester_2
    from
        (
        select
            chr(9) || 'Q   qwer' || chr(9) || chr(10) ||
                    chr(13) || 'qwerqwer     qwerty' || chr(9) || 
                    chr(10) || chr(13) tester 
        from 
            dual
        )
    

    戻る:

    • REGEXP_TESTER_1 :"Qqwerqwerqwerqwerty
    • REGEXP_TESTER_2 :"Q qwerqwerqwer qwerty

    これがお役に立てば幸いです。



    1. Mysqlでデータを外挿して配列に入れるにはどうすればよいですか?

    2. Node.jsとSQLiteを使用してオフラインファーストのアプリケーションを構築する

    3. mysqlテーブル構造の提案?

    4. これらの3つの一般的なアクセスの問題をトラブルシューティングする方法