Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

CONCAT

2 つの文字列式を連結した結果として、文字列を返すスカラ文字列関数です。

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

関連項目

ASCII CHAR STRING SUBSTRING

FeedbackOpens in a new tab