MySQL/MySQLでダブルパイプを使用して文字連結をする方法
の編集
Top
/
MySQL
/
MySQLでダブルパイプを使用して文字連結をする方法
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
PostgreSQL/template0とtemplate1の違いについて
#navi(../) * MySQLでダブルパイプを使用して文字連結をする方法 [#m7606907] MySQLでダブルパイプ(||)を使用して文字連結をする方法を以下に記します。~ 使用したOSは、CentOS6, MySQLのバージョンは5.1.61になります。 #contents #htmlinsertpcsp(db-top.html,db-sp.html) * 関連資料・関連記事 [#x8313fd8] -[[PostgreSQLでカラムの文字列を連結する・ダブルパイプ>PostgreSQL/PostgreSQLでカラムの文字列を連結する・ダブルパイプ]] * concatと同じ操作をダブルパイプ(||)で実現する [#lbaa6909] 以下のテーブルを作成し、データをINSERTしました。~ このテーブルとデータを使用して説明します。 mysql> create table t1 (c1 varchar(10), c2 varchar(10), c3 varchar(10)); Query OK, 0 rows affected (0.05 sec) mysql> insert into t1 values('abc', 'def', 'ghi'),('jkl','mno','pqr'); Query OK, 2 rows affected (0.04 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> select * from t1; +------+------+------+ | c1 | c2 | c3 | +------+------+------+ | abc | def | ghi | | jkl | mno | pqr | +------+------+------+ 2 rows in set (0.00 sec) ** concatを使ってみる [#b869c3b6] concatで文字列の連結ができます。~ 上記で作成したテーブルを使い使用例を以下に記します。 mysql> select concat(c1,c2) from t1; +---------------+ | concat(c1,c2) | +---------------+ | abcdef | | jklmno | +---------------+ 2 rows in set (0.00 sec) mysql> select concat(c1,c2,c3) from t1; +------------------+ | concat(c1,c2,c3) | +------------------+ | abcdefghi | | jklmnopqr | +------------------+ 2 rows in set (0.00 sec) **ダブルパイプ(||)を使用する [#ae07f1c9] 何も設定せず、ダブルパイプを使うと以下のような動作になり、意図した結果が出力されませんでした。 mysql> select c1||c2||c3 from t1; +------------+ | c1||c2||c3 | +------------+ | 0 | | 0 | +------------+ 2 rows in set (0.00 sec) ダブルパイプを使用するには、以下のSQLを実行します。 set @@session.sql_mode='PIPES_AS_CONCAT'; 実際に上記のsetを実行後、ダブルパイプを使った出力を以下に記します。 mysql> set @@session.sql_mode='PIPES_AS_CONCAT'; Query OK, 0 rows affected (0.00 sec) mysql> select c1||c2||c3 from t1; +------------+ | c1||c2||c3 | +------------+ | abcdefghi | | jklmnopqr | +------------+ 2 rows in set (0.00 sec) 以上、MySQLでダブルパイプを使う方法でした。 #htmlinsertpcsp(db-btm.html,db-sp.html)
タイムスタンプを変更しない
#navi(../) * MySQLでダブルパイプを使用して文字連結をする方法 [#m7606907] MySQLでダブルパイプ(||)を使用して文字連結をする方法を以下に記します。~ 使用したOSは、CentOS6, MySQLのバージョンは5.1.61になります。 #contents #htmlinsertpcsp(db-top.html,db-sp.html) * 関連資料・関連記事 [#x8313fd8] -[[PostgreSQLでカラムの文字列を連結する・ダブルパイプ>PostgreSQL/PostgreSQLでカラムの文字列を連結する・ダブルパイプ]] * concatと同じ操作をダブルパイプ(||)で実現する [#lbaa6909] 以下のテーブルを作成し、データをINSERTしました。~ このテーブルとデータを使用して説明します。 mysql> create table t1 (c1 varchar(10), c2 varchar(10), c3 varchar(10)); Query OK, 0 rows affected (0.05 sec) mysql> insert into t1 values('abc', 'def', 'ghi'),('jkl','mno','pqr'); Query OK, 2 rows affected (0.04 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> select * from t1; +------+------+------+ | c1 | c2 | c3 | +------+------+------+ | abc | def | ghi | | jkl | mno | pqr | +------+------+------+ 2 rows in set (0.00 sec) ** concatを使ってみる [#b869c3b6] concatで文字列の連結ができます。~ 上記で作成したテーブルを使い使用例を以下に記します。 mysql> select concat(c1,c2) from t1; +---------------+ | concat(c1,c2) | +---------------+ | abcdef | | jklmno | +---------------+ 2 rows in set (0.00 sec) mysql> select concat(c1,c2,c3) from t1; +------------------+ | concat(c1,c2,c3) | +------------------+ | abcdefghi | | jklmnopqr | +------------------+ 2 rows in set (0.00 sec) **ダブルパイプ(||)を使用する [#ae07f1c9] 何も設定せず、ダブルパイプを使うと以下のような動作になり、意図した結果が出力されませんでした。 mysql> select c1||c2||c3 from t1; +------------+ | c1||c2||c3 | +------------+ | 0 | | 0 | +------------+ 2 rows in set (0.00 sec) ダブルパイプを使用するには、以下のSQLを実行します。 set @@session.sql_mode='PIPES_AS_CONCAT'; 実際に上記のsetを実行後、ダブルパイプを使った出力を以下に記します。 mysql> set @@session.sql_mode='PIPES_AS_CONCAT'; Query OK, 0 rows affected (0.00 sec) mysql> select c1||c2||c3 from t1; +------------+ | c1||c2||c3 | +------------+ | abcdefghi | | jklmnopqr | +------------+ 2 rows in set (0.00 sec) 以上、MySQLでダブルパイプを使う方法でした。 #htmlinsertpcsp(db-btm.html,db-sp.html)
テキスト整形のルールを表示する