今回は、Silverの「S3 開発/SQL - S3.2 組み込み関数」からの出題です。
id | firstname | lastname
-- + -----------+ -----------
1 | Sadaharu | Oh
2 | Shigeo | Nagashima
3 | Ichiro | Suzuki
SELECT firstname || lastname FROM emp;
SELECT concat(firstname, lastname) FROM emp;
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2011年8月19日
文字列を連結するための演算子として ANSI SQL では || が使われますが、実装は RDBMS の種類によって異なり、+ 演算子を使うものやconcat() 関数を使うものなどもあります。
PostgreSQL では || 演算子を使って文字列の連結を行います。
また、PostgreSQL 9.1以降ではconcat()関数でも文字列の連結が可能です。
従って正解はDとEです。
実際に実行すると、以下のような結果が得られます。
?column?
-----------------
SadaharuOh
ShigeoNagashima
IchiroSuzuki
(3 rows)
ローマ字で記述された名前を連結するときは、姓名の間にスペースを入れた方が良いですね。
|| 演算子を使って3つ以上の文字列を連結することも可能です。例えば
SELECT firstname || ' ' || lastname FROM emp;
とすれば、姓名の間にスペースが入ります。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.