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

Oracleで改行を置き換える方法

    問題:

    列の改行を削除したい。

    例:

    私たちのデータベースには、address_book city_name列にデータがあります およびcompany_addresscompany_addressの各タブと改行を置き換えたい 視覚的に魅力的なものにするために、‘‘(スペース)が付いた列。

    city_name company_address
    東京 15th Oreo Street、

    東京

    9870-11
    ワルシャワ 18 Marszalkowska Ave、

    ワルシャワ

    03-654
    アクラ 123バナナジャンクション、

    サークル-アクラ、

    00244
    ベルリン 25thマンゴーアベニュー、

    アサイラムダウン、

    DE-1234

    解決策:

    クエリは次のとおりです:

    SELECT
       city_name,
       REPLACE(company_address, CHR(10) || CHR(13) || CHR(9), ‘ ‘)
    FROM address_book;
    

    クエリの結果は次のとおりです。

    city_name company_address
    東京 15th Oreo Street、Tokyo 9870-11
    ワルシャワ 18 Marszalkowska Ave、ワルシャワ03-654
    アクラ 123バナナジャンクション、サークル-アクラ、00244
    ベルリン 25th Mango Avenue、Asylum Down、DE-1234

    ディスカッション:

    REPLACE() 関数は通常、文字列内の指定された文字列のすべての出現箇所を別の文字列に置き換えるために使用されます。なぜCHR(10)を使用したのか疑問に思われるかもしれません およびCHR(13) 上記の例では。 CHR() 関数は、制御文字を文字列に挿入するために使用されます。 CHR(10) 改行を挿入するために使用されます、CHR(9) タブ用で、CHR(13) キャリッジリターン用です。

    上記の例では、改行、タブ、およびキャリッジリターンのすべての出現箇所を削除したかったので、CHR(10)を使用しました。 、CHR(9) 、およびCHR(13) 。これらは、Oracleの連結記号(||)を使用して組み合わせることができます。 )列内のすべての出現を削除します。構文の例は、REPLACE(string, CHR(10) || (CHR(13) || CHR(09), ‘ ‘ )です。 。


    1. MariaDB CURRENT_USER()の説明

    2. OracleDatabaseのPL/SQLコレクション方式の概要

    3. パフォーマンスの神話:テーブル変数は常にメモリ内にあります

    4. PostgreSQLトリガーを使用して変更(SQLステートメントと行の変更)を保存するにはどうすればよいですか?