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 |