CONCAT
Synopsis
{fn CONCAT(string-expression1,string-expression2)}
引数
string-expression1, string-expression2 | 連結する文字列式。式は列の名前や文字リテラル、数値、または他のスカラ関数の結果を指定できます。基本となるデータ型は、任意の文字タイプ (CHAR や VARCHAR など) とすることができます。 |
概要
CONCAT は、2 つの文字列を連結して、連結後の文字列を返します。連結演算子 (||) を使用しても、同じ動作を実行できます。
数値または数値文字列の任意の組み合わせを連結できます。連結の結果は数値文字列です。Caché SQL では、連結の前に数値をキャノニック形式に変換します (指数が展開され、先頭のゼロと末尾のゼロは削除されます)。数値文字列は、連結の前にキャノニック形式に変換されません。
先頭または末尾の空白は文字列に連結できます。NULL 値を文字列に連結すると NULL になりますが、これは業界全体の SQL 標準です。
STRING 関数でも、2 つ以上の式を連結して 1 つの文字列にすることができます。
例
以下の例では、Home_State 列と Home_City 列を連結して、ロケーション値を生成します。CONCAT 関数と連結演算子を使用した、2 つの連結が示されています。
SELECT {fn CONCAT(Home_State,Home_City)} AS LocationFunc,
Home_State||Home_City AS LocationOp
FROM Sample.Person
以下の例は、文字列と NULL を連結しようとした場合にどのようになるかを示しています。
SELECT {fn CONCAT(Home_State,NULL)} AS StrNull
FROM Sample.Person
以下では、連結前に数値がキャノニック形式に変換される例を示しています。このような状況を避けるには、以下のように数値を文字列として指定します。
SELECT {fn CONCAT(Home_State,0012.00E2)} AS StrNum,
{fn CONCAT(Home_State,'0012.00E2')} AS StrStrNum
FROM Sample.Person
以下は、末尾の空白の保持の例を示しています。
SELECT CHAR_LENGTH({fn CONCAT(Home_State,' ')}) AS StrSpace
FROM Sample.Person