MySQLの値に改行(キャリッジリターン)を追加する方法
MySQLで値に改行(キャリッジリターン)を追加するには
MySQLで値に改行(キャリッジリターン)を追加したい場合は、CONCAT_WS()関数を使用します。新しい行として出力したい場合は、区切り文字として「\n」を指定するのがポイントです。
基本構文
SELECT CONCAT_WS('\n', yourColumnName) AS anyVariableName FROM yourTableName;それでは、実際の例を見ていきましょう。
サンプルテーブルの作成
まず、動作を確認するためのテーブルを作成します。
mysql> create table NewLineDemo -> ( -> CountryName varchar(10) -> ); Query OK, 0 rows affected (0.50 sec)
レコードの挿入
INSERTコマンドを使って、いくつかのレコードを登録します。
mysql> insert into NewLineDemo values('US');
Query OK, 1 row affected (0.15 sec)
mysql> insert into NewLineDemo values('UK');
Query OK, 1 row affected (0.13 sec)
mysql> insert into NewLineDemo values('AUS');
Query OK, 1 row affected (0.11 sec)テーブルの内容を確認する
SELECT文ですべてのレコードを表示してみましょう。
mysql> select *from NewLineDemo;
実行結果は以下の通りです。
+-------------+ | CountryName | +-------------+ | US | | UK | | AUS | +-------------+ 3 rows in set (0.00 sec)
CONCAT_WS()で改行付きのリストを取得する
CONCAT_WS()関数の第1引数に「\n」を指定すると、各値が改行されて出力されます。以下のクエリを実行してみます。
mysql> select concat_ws('\n',CountryName) as CountryList from NewLineDemo;実行結果は以下の通りです。
+-------------+ | CountryList | +-------------+ | US | | UK | | AUS | +-------------+ 3 rows in set (0.00 sec)
複数の値を直接指定して改行で結合する
テーブルを参照せず、複数の値を直接渡すことも可能です。次のように記述します。
mysql> select concat_ws('\n','US','UK','AUS') as CountryName;実行結果は以下の通りです。
+-------------+ | CountryName | +-------------+ | US | | UK | | AUS | +-------------+ 1 row in set (0.00 sec)
補足:キャリッジリターンとラインフィードの違い
なお、厳密には「\r」がキャリッジリターン(CR)、「\n」がラインフィード(LF=改行)に対応します。Windows環境では「\r\n」の組み合わせが改行として扱われるため、出力先の環境に合わせて使い分けるとよいでしょう。
-
MySQLで列の値の先頭に000(ゼロ埋め)を追加する方法
MySQLで列の値に000(ゼロ)を追加するには?MySQLで数値の先頭に「000」のようなゼロを追加して表示したい場合は、ZEROFILL属性を使用します。ZEROFILLを指定した列では、設定された表示幅に満たない桁数が自動的に0で埋められます。まず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable1913 ( Code int(4) ZEROFILL AUTO_INCREMENT NOT NULL, PRIMARY KEY(Code) ); Query OK, 0 rows affected (0.00
-
正の値を持つ行に対してTRUEを返すMySQLクエリの書き方
MySQLで正の値を持つ行に対してTRUE(1)を返し、負の値に対してはFALSE(0)を返したい場合は、IF()関数を使うのが便利です。この記事では、実際にテーブルを作成し、サンプルデータを挿入しながら、具体的なクエリの書き方を解説します。 1. サンプルテーブルを作成する まず、CREATE TABLE文を使ってテーブルを作成します。 mysql> create table DemoTable2038 -> ( -> Id int NOT NULL AUTO_INCREMENT