CONCAT (SQL)
Synopsis
{fn CONCAT(string1,string2)}
説明
-
{fn CONCAT(string1,string2)} は、2 つの文字列を連結し、連結後の文字列を返します。この構文は連結演算子 (||) の使用に相当します。STRING 関数を使用することで、2 つ以上の式を連結して 1 つの文字列にすることもできます。
以下の文は、上位 5 つの名前と姓をテーブルから選択し、LastName 列の値と FirstName 列の値を連結してコンマで区切ります。
SELECT TOP 5 FirstName, LastName, {fn CONCAT({fn CONCAT(LastName, ',')}, FirstName)} AS FullName FROM Sample.Person
FirstName LastName FullName Quigley
Ulman
Ulman,Quigley
Buzz
Woo
Woo,Buzz
Mario
Mastrolito
Mastrolito,Mario
Julie
Noodleman
Noodleman,Julie
Lawrence
Quincy
Quincy,Lawrence
例 : 2 つの文字列を連結
引数
string1,string2
連結する文字列式。式は列の名前や文字リテラル、数値、または他のスカラ関数の結果を指定できます。基本となるデータ型は、任意の文字タイプ (CHAR や VARCHAR など) とすることができます。
数値または数値文字列の任意の組み合わせを連結できます。連結の結果は数値文字列です。InterSystems SQL では、連結の前に数値をキャノニック形式に変換します (指数が展開され、先頭のゼロと末尾のゼロは削除されます)。数値文字列は、連結の前にキャノニック形式に変換されません。
先頭または末尾の空白は文字列に連結できます。NULL 値を文字列に連結すると NULL になります。
例
2 つの文字列の連結
以下の文では、Home_State 列と Home_City 列を連結して、場所の値を生成します。CONCAT 関数と連結演算子を使用して、2 回の連結が示されています。
SELECT TOP 5
{fn CONCAT({fn CONCAT(HomeCity,', ')}, HomeState)} AS LocationWithConcatFunction,
HomeCity||', '||HomeState AS LocationWithConcatOperator
FROM Sample.Person
LocationWithConcatFunction | LocationWithConcatOperator |
---|---|
Denver, CO |
Denver, CO |
Boston, MA |
Boston, MA |
Albuquerque, NM |
Albuquerque, NM |
Jacksonville, FL |
Jacksonville, FL |
Lexington, KY |
Lexington, KY |
以下の文は文字列と NULL を連結し、NULL の列を返します。
SELECT {fn CONCAT(HomeState,NULL)} AS StrNull
FROM Sample.Person
StrNull |
---|
NULL |
NULL |
NULL |
NULL |
NULL |
以下の文は、連結前に数値がキャノニック形式に変換される例を示しています。このような状況を避けるには、この文の 2 番目の部分に示すように数値を文字列として指定します。
SELECT TOP 5
{fn CONCAT(HomeState,0012.00E2)} AS StrNum,
{fn CONCAT(HomeState,'0012.00E2')} AS StrStrNum
FROM Sample.Person
StrNum | StrStrNum |
---|---|
CO1200 |
CO0012.00E2 |
MA1200 |
MA0012.00E2 |
NM1200 |
NM0012.00E2 |
FL1200 |
FL0012.00E2 |
KY1200 |
KY0012.00E2 |
以下の文は、末尾の空白が保持されることを示しています。2 文字の状態フィールドを 10 個の空白と連結すると、連結した列のそれぞれの値は長さが 12 になります。
SELECT TOP 5
HomeState,
CHAR_LENGTH({fn CONCAT(HomeState,' ')}) AS StrSpace
FROM Sample.Person2
HomeState | StrSpace |
---|---|
CO |
12 |
MA |
12 |
NM |
12 |
FL |
12 |
KY |
12 |