MySQLの連結演算子がわかりません。
私は連結のためにこのコードを試しました:
SELECT vend_name || ' (' || vend_country || ')'
FROM Vendors
ORDER BY vend_name;
しかし、うまくいきませんでした。文字列を連結するには、どの演算子を使用する必要がありますか?
Oracleタイプの連結を使用していました。 MySQLのあるべき
_ SELECT CONCAT(vend_name, '(', vend_country, ')')
_
CONCAT()
関数を呼び出し、値をコンマで区切ります。
||
はANSI標準の文字列連結演算子で、ほとんどのデータベースでサポートされています(特に MS SQL Serverではない )。 MySQLもサポートしていますが、 SET sql_mode='PIPES_AS_CONCAT';
または SET sql_mode='ANSI';
最初。
MySQL CONCAT関数は、2つの文字列を連結して単一の文字列を形成するために使用されます。次の例を試してください。
mysql> SELECT CONCAT('FIRST ', 'SECOND');
+----------------------------+
| CONCAT('FIRST ', 'SECOND') |
+----------------------------+
| FIRST SECOND |
+----------------------------+
1 row in set (0.00 sec)
CONCAT関数をより詳細に理解するには、次のレコードを持つemployee_tblテーブルを検討してください。
mysql> SELECT CONCAT(id, name, work_date)
-> FROM employee_tbl;
+-----------------------------+
| CONCAT(id, name, work_date) |
+-----------------------------+
| 1John2007-01-24 |
| 2Ram2007-05-27 |
| 3Jack2007-05-06 |
| 3Jack2007-04-06 |
| 4Jill2007-04-06 |
| 5Zara2007-06-06 |
| 5Zara2007-02-06 |
+-----------------------------+
単純にCONCAT
キーワードを使用して文字列を連結できます。次のように使用できます。
SELECT CONCAT(vend_name,'',vend_country) FROM vendors ORER BY name;
concat
を使用する利点は、さまざまなデータ型の列を渡し、文字列表現を連結できることです。
SELECT concat('XXX', 10.99, 'YYY', 3, 'ZZZ', now(3)) as a;
出力
a
-----
XXX10.99YYY3ZZZ2018-09-21 15:20:25.106