SQLにおける連結演算子の基本
連結演算子は、データ型が文字列の値に対して演算を行う演算子です。連結演算子は文字列型の値を連結する機能を持っています。
連結演算子の書式は次のようになります。この書式の左辺と右辺の文字列型の値が連結されます。
書式
ORACLE <列名または文字列> || <列名または文字列>
MS-SQL MSAccess <列名または文字列> + <列名または文字列>
MSAccess <列名または文字列> & <列名または文字列>
ORACLE <列名または文字列> || <列名または文字列>
MS-SQL MSAccess <列名または文字列> + <列名または文字列>
MSAccess <列名または文字列> & <列名または文字列>
表:名簿
出席番号 | 姓 | 名 | 電話番号 |
---|---|---|---|
1 | 愛田 | 健二 | 0311112222 |
2 | 赤井 | 恵利 | 0451111111 |
3 | 井上 | 加奈子 | 0300000000 |
4 | 梅田 | 優作 | 0789999999 |
5 | 宮坂 | 恵 | 0611112222 |
この名簿で、生徒の「姓」列と「名」列を連結して、1つの文字列として出力したい場合は、次のようにSQLを入力します。
SQL文
ORACLE SELECT 姓 || 名 FROM 名簿;
MS-SQL MSAccess SELECT 姓 + 名 FROM 名簿;
MSAccess SELECT 姓 & 名 FROM 名簿;
実行結果
姓 || 名 |
---|
愛田健二 |
赤井恵利 |
井上加奈子 |
梅田優作 |
宮坂恵 |
複数の列を連結することも可能です。さらに、連結演算子では、列と列を結合するだけでなく、文字列定数も連結できます。
SQL文
ORACLE SELECT 姓 || 名 || '様' FROM 名簿;
MS-SQL MSAccess SELECT 姓 + 名 + '様' FROM 名簿;
MSAccess SELECT 姓 & 名 & '様' FROM 名簿;
実行結果
姓 || 名 || '様' |
---|
愛田健二様 |
赤井恵利様 |
井上加奈子様 |
梅田優作様 |
宮坂恵様 |
このSQLでは、「姓」列と「名」列に、「様」という文字列定数を追加した結果を求めています。また、別に文字列定数を連結するだけでなく、文字列定数同士を連結することも可能です。
では、数値型の要素も連結したい場合には、どのようにすればよいのでしょうか?通常は、数値型の値を文字列型に変換してから、連結演算子で連結を行います。次のSQL文では、ORACLEとMS-SQLで数値型の「出席番号」列を文字列型に変換して、「姓」列と「名」列とを連結しています。
SQL文
ORACLE SELECT TO_CHAR(出席番号) || 姓 || 名 FROM 名簿;
MS-SQL SELECT CONVERT(VARCHAR,出席番号) + 姓 + 名 FROM 名簿;
ORACLE SELECT TO_CHAR(出席番号) || 姓 || 名 FROM 名簿;
MS-SQL SELECT CONVERT(VARCHAR,出席番号) + 姓 + 名 FROM 名簿;
実行結果
TO_CHAR(出席番号) || 姓 || 名 |
---|
1愛田健二 |
2赤井恵利 |
3井上加奈子 |
4梅田優作 |
5宮坂恵 |
ORACLEでは、数値型から文字列型への変換にTO_CHAR関数、MS-SQLではCONVERT関数を使っています。変化の詳細については、それぞれの関数のページを参照してください。
【SQL・ORACLE】 TO_CHAR関数の使い方(文字型に変換する)
TO_CHAR関数は、数値型、日付型のデータを文字列型に変換する関数です。日付型から変換するときは、書式をを指定することができます。いちれべ.comでは、基本的な使用方法はもちろん、具体的な使用例でも解説しています。
【SQL Server】 CONVERT関数の使い方(データ型の変換を行う)
CONVERT関数は、データ型の変換を行う関数です。この関数では、第2引数で指定したデータを第1引数で指定したデータ型に変換します。変換できるデータ型はSQL Serverが扱えるデータ型になります。またCONVERT関数では第3引数により日付型を変換するときに書式を与えることができます。
関連リンク
次の章に進む
【SQLの基礎知識⑤】 SQLにおける比較演算子の基本
この章では、SQLの問合せにおける条件式の記述方法を習得できます。解説文だけでなく、具体的・実践的なSQL文と実行結果を確認することで、理解を深めることができます。いちれべ.comは、オラクル、MS-SQL、MS-Access で使用可能か一目でわかるサイトです。
目次
【SQLの基礎知識】基本ルールや基礎の基礎をマスターしよう
こちらの記事を読み進めることで、SQLの基礎が充分に身に付きます。これからSQLを身に着けたい初心者・入門者の方に最適です。データベース製品ごとに表現方法が異なることがありますので、ある程度SQLのスキルがある方も利用できるサイトです。