Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

改行コードを挿入する方法

SELECT文やプロシージャなど、SQLの実行結果として改行コードを挿入したい時があると思います。

SQLの、SELECT文やプロシージャに改行コードやタブ(Tab)などの制御文字は、そのまま挿入できないため、制御文字を挿入するための関数を利用します。

この記事では、それぞれのRDB(リレーショナルデータベース)ごとに、改行コードを挿入する方法を解説していきます。

OS・ソフトによって改行コードは異なる?

改行コードは、その文字列を表示するエディタやビューアーなどや、OS(オペレーションシステム)によって、ラインフィード (LF)を使用するか、キャリッジリターン (CR) + ラインフィード (LF) を使います。

改行コードをSQLに挿入する場合は、その実行環境に合わせて、使用する改行コードを適切に選択しましょう。

T-SQLで改行コードを挿入する

最初は、SQL ServerなどのT-SQLで、SQLの実行結果に改行コードを挿入する方法を見ていきましょう。

T-SQLで改行コードを挿入する場合は、CHAR関数を使用します。厳密にCHAR関数は、指定したアスキー(ASCII)文字コードに対応する文字を得るための関数であるため、改行コード以外のアルファベットなどの文字でも使用できます。

CHAR関数で、キャリッジリターン (CR) およびラインフィード (LF)を取得するには、次のように記述します。

キャリッジリターン (CR)

CHAR(13)

ラインフィード (LF)

CHAR(10)

では、実際にSELECT文で、改行コードを実行結果に挿入するサンプルコードを見ていきましょう。

次のコードは、文字列の間に、ラインフィード (LF)キャリッジリターン (CR) + ラインフィード (LF) を挿入するサンプルです。

▪️ ラインフィード (LF)のみの改行

SELECT    'LFのみの' + CHAR(13) + '改行です。' AS 'CR';

[実行結果]
---------------------------
LFのみの
改行です。

▪️ キャリッジリターン (CR) + ラインフィード (LF)

SELECT    'CR+LFの' + CHAR(13) + CHAR(10) + '改行です。'

[実行結果]
---------------------------
CR+LFの
改行です。

上の結果を見ると、どちらも改行されており、見た目が同じ結果のため分かり辛いですね。

SQLの実行結果を、改行コードが視覚的に見えるサクラエディタなどに貼り付けると、同じ改行でも違いが分かるでしょう。

また、キャリッジリターン (CR) + ラインフィード (LF)の改行コードしか認識しないNotepadに、SQLの実行結果を貼り付けると、ラインフィード (LF)のみの改行コードの結果では、改行が行われていません。

nvarcharで改行コードを挿入する場合は?

データ型が「nvarchar」のカラムに、改行コードを挿入する場合は、NCHAR関数を使用します。

NCHAR関数の使用方法は、前述のCHAR関数と同じで、引数に文字コードを指定します。

キャリッジリターン (CR)

NCHAR(13)

ラインフィード (LF)

NCHAR(10)

Oracle Database SQLで改行コードを挿入する

次は、Oracle Database SQLで、SQLの実行結果に改行コードを挿入する方法を見ていきましょう。

Oracle Databaseで改行コードを挿入するには、CHR関数を使用します。こちらもT-SQLのCHAR関数同様に、指定したアスキー(ASCII)文字コードに対応する文字を得るための関数です。

CHR関数で、キャリッジリターン (CR) およびラインフィード (LF)を取得するには、次のように記述します。

キャリッジリターン (CR)

CHR(13)

ラインフィード (LF)

CHR(10)

実際にOracle Database SQLで、改行コードを実行結果に挿入するサンプルコードを見ていきましょう。

▪️ ラインフィード (LF)のみの改行

SELECT    'LFのみの' + CHR(13) + '改行です。' AS 'CR' FROM DUAL;

[実行結果]
---------------------------
LFのみの
改行です。

▪️ キャリッジリターン (CR) + ラインフィード (LF)

SELECT    'CR+LFの' + CHR(13) + CHR(10) + '改行です。' FROM DUAL;

[実行結果]
---------------------------
CR+LFの
改行です。

MySQLで改行コードを挿入する

次は、MySQLで改行コードを挿入する方法を見ていきましょう。

MySQLで改行コードを挿入するには、特殊文字の\r\nを使用します。OracleやSQL Serverなどとは、改行コードの設定方法が異なるので、注意が必要です。

MySQLでのキャリッジリターン (CR)、ラインフィード (LF)の書き方は次のとおりです。

キャリッジリターン (CR)

\r

ラインフィード (LF)

\n

実際にMySQLで、改行コードを実行結果に挿入するサンプルコードを見ていきましょう。

▪️ ラインフィード (LF)のみの改行

SELECT    'LFのみの\n改行です。' AS 'CR';

[実行結果]
---------------------------
LFのみの
改行です。

▪️ キャリッジリターン (CR) + ラインフィード (LF)

SELECT    'CR+LFの\r\n改行です。';

[実行結果]
---------------------------
CR+LFの
改行です。

PostgreSQLで改行コードを挿入する

次は、PostgreSQLで改行コードを挿入する方法を見ていきましょう。

PostgreSQLもMySQLと同様に、で改行コードを挿入するには、特殊文字の\r\nを使用します。

キャリッジリターン (CR)

\r

ラインフィード (LF)

\n

実際にPostgreSQLで、改行コードを実行結果に挿入するサンプルコードを見ていきましょう。

▪️ ラインフィード (LF)のみの改行

SELECT    'LFのみの\n改行です。' AS 'CR';

[実行結果]
---------------------------
LFのみの
改行です。

▪️ キャリッジリターン (CR) + ラインフィード (LF)

SELECT    'CR+LFの\r\n改行です。';

[実行結果]
---------------------------
CR+LFの
改行です。

SQLiteで改行コードを挿入する

最後は、SQLiteで改行コードを挿入する方法を見ていきましょう。

SQLiteで改行コードを挿入するには、SQL Serverと同様にchar関数を使用します。charは指定したアスキー(ASCII)文字コードに対応する文字を得るための関数で、改行の文字コード指定して改行を挿入します。

SQLiteのchar関数で、キャリッジリターン (CR) およびラインフィード (LF)を取得するには、次のように記述します。

キャリッジリターン (CR)

char(13)

ラインフィード (LF)

char(10)
ポテパンダの一言メモ

SQLiteのchar関数は、引数に複数の値を指定できるため、キャリッジリターン (CR)ラインフィード (LF)の2つの制御文字を、char(13, 10)のように指定することで、1回の呼び出しで同時に取得できます。

まとめ

SQLで改行コードを挿入する方法を、RDB(リレーショナルデータベース)別に見てきました。今回のように、SQLはデータベース毎に、微秒に仕様が違うため、しっかり把握しておきましょう。

【関連記事】
SQLでカンマ区切りを扱うサンプルコード集 formatやCSV、group_concatの例

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。