SQL の CONCAT 関数は文字列関数であり、2 つ以上の文字列を結合するために使用されます。 Concat サービスは、結果を表示するときに Null 値を空の文字列に変換します。この関数は、2 つの文字列を連結して 1 つの文字列を作成するために使用されます。の オペレーター リンクに使用されます 文字列 そして 列文字列 。
を使用できます リテラルイン CONCAT関数。リテラルとは、 数字、文字 、 または 日付 これには SELECT ステートメントが含まれます。
CONCAT 関数の構文:
SELECT CONCAT (String 1, String 2, String3.., String N) FROM [Source]
例-
SQL> SELECT CONCAT ('FIRST', 'SECOND');
CONCAT('FIRST','SECOND') | 最初の 2 番目 |
CONCAT 関数を詳しく理解するには、次のレコードが含まれるemployee_tbl テーブルについて考えてみましょう。
中央のCSSボタン
SQL> SELECT * FROM employee_ tbl ;
ID | 名前 | WORK_DATE | DAILY_TYPING_PAGES |
---|---|---|---|
1 | マイケル | 2009-02-15 | 270 |
2 | ジーナ | 2003-03-24 | 250 |
2 | カフナー | 2007-08-19 | 277 |
2 | 警告者 | 2007-04-25 | 264 |
3 | 喜び | 2007-05-17 | 250 |
4 | 魅力的 | 2006-06-23 | 270 |
5 | デルフ | 2004-05-28 | 230 |
したがって、上記のテーブルのすべての名前、従業員 ID、および work_date を連結したい場合は、次のコマンドを使用してそれを行うことができます。
SQL > SELECT CONCAT (id , name , work_date ) ->FROM employee_ tbl; CONCAT(id, name, work_date)
1ミハル2009-02-15 |
2ジーナ2003-03-24 |
2kachner2007-08-19 |
2warner2007-04-25 |
3joy2007-05-17 |
4atire2006-06-23 |
5delph2004-05-28 |
例 2:
SELECT id, first_name, last_name, first_name || last_name, salary, first_name || salary FROM myTable Output (Third and Fifth Columns show values concatenated by operator ||)
出力:
ID | 苗字 | ファーストネーム | 名||姓 | 給料 | 名||給料 |
---|---|---|---|---|---|
1 | 豆 | 氏 | ミスタービーン | 10000 | Mr.10000 |
2 | ウィリアム | スニタ | スニタ・ウィリアム | 50000 | スニタ50000 |
3 | tポイント | ジャワ | ジャワトポイント | 20000 | Java20000 |
4 | &例 | チュートリアル | チュートリアル&例 | 90000 | チュートリアル90000 |
注: 上の例では、連結演算子として知られる「||」を使用しました。これは、選択クエリで 2 つ以上の列をリンクするために使用されます。この演算子は列のデータ型には依存しません。
ここでは、first_name+last_name と first_name+salary の 2 つの列をリンクしています。
使用できます 文字列リテラル CONCAT 演算子で。
例1 : 文字リテラルの使用
構文
SELECT id, first_name, last_name, salary, first_name||' has salary '||salary as 'new' FROM myTable
出力: (3 つの値を連結して新しい「名前」を付ける)
ID | ファーストネーム | 苗字 | 給料 | 新しい |
---|---|---|---|---|
1 | ジャワトポイント | tポイント | 20000 | Javaの給料は20000です |
2 | チュートリアル | &例 | 30000 | チュートリアルの給料は30000です |
3 | シェーン | ワトソン | 40000 | シェーンの給料は40000です |
4 | ジェニファー | シラミ | 60000 | ジェニファーの給料は60000です |
注: select ステートメントでは、salary を文字リテラルとして使用しました。表では、要件に応じて日付リテラルと数値リテラルを使用できます。
例 2: 文字と数値リテラルの使用
構文:
SELECT id, first_name, last_name, salary, first_name||100||' has id '||id AS 'new' FROM myTable Output (Making the output readable by concatenating a string with values)
出力:
ID | ファーストネーム | 苗字 | 給料 | 新しい |
---|---|---|---|---|
1 | ジャワトポイント | tポイント | 20000 | Java100のIDは1です |
2 | チュートリアル | &例 | 30000 | Tutorial100 の ID は 2 |
3 | シェーン | ワトソン | 40000 | Shane100 の ID は 3 |
4 | ジェニファー | シラミ | 60000 | Jennifer100 の ID は 4 |
上の例では、 給料 文字リテラルとしてだけでなく、 100 select ステートメントで本物の数値として使用します。