【SQLの基礎知識④】 SQLにおける連結演算子の基本

SQLの基礎知識
SQLの基礎知識
この記事は約3分で読めます。
Recommended Articles

SQLにおける連結演算子の基本

連結演算子は、データ型が文字列の値に対して演算を行う演算子です。連結演算子は文字列型の値を連結する機能を持っています。

連結演算子の書式は次のようになります。この書式の左辺と右辺の文字列型の値が連結されます。

書式
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 名簿;
実行結果

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のスキルがある方も利用できるサイトです。

Recommended Articles
いちれべ.com