web-dev-qa-db-ja.com

MySQL連結演算子

MySQLの連結演算子がわかりません。

私は連結のためにこのコードを試しました:

SELECT vend_name || ' (' || vend_country || ')'
FROM Vendors
ORDER BY vend_name;

しかし、うまくいきませんでした。文字列を連結するには、どの演算子を使用する必要がありますか?

35
user2201462

Oracleタイプの連結を使用していました。 MySQLのあるべき

_ SELECT CONCAT(vend_name, '(', vend_country, ')')
_

CONCAT()関数を呼び出し、値をコンマで区切ります。

42
codingbiz

||はANSI標準の文字列連結演算子で、ほとんどのデータベースでサポートされています(特に MS SQL Serverではない )。 MySQLもサポートしていますが、 SET sql_mode='PIPES_AS_CONCAT'; または SET sql_mode='ANSI'; 最初。

62
200_success

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             |
+-----------------------------+
14
Akshay Joy

単純にCONCATキーワードを使用して文字列を連結できます。次のように使用できます。

SELECT CONCAT(vend_name,'',vend_country) FROM vendors ORER BY name;
1
Anil Chaurasiya

concatを使用する利点は、さまざまなデータ型の列を渡し、文字列表現を連結できることです。

 SELECT concat('XXX',  10.99, 'YYY', 3, 'ZZZ', now(3)) as a; 

出力

a
-----
XXX10.99Y​​YY3ZZZ2018-09-21 15:20:25.106

1
T.S.