問題:
列の改行を削除したい。
例:
私たちのデータベースには、address_book city_name列にデータがあります およびcompany_address 。 company_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), ‘ ‘ )です。 。