web-dev-qa-db-ja.com

sas procsqlで2つの数値を連結します

yearmonthという2つの数値を持つテーブルがあります。 ymyearを連結したmonthという1つの値を持つ新しいテーブルを作成したいと思います。次に例を示します。

proc sql;
create table test as 
select CONCAT(year, month) as ym from tbl;
run;

そこに行くCONCAT関数は何ですか?

10
Alex

CAT、CATS、CATT、CATXはすべて、9.1.3以降(および9.2以降のCATQ)を使用している限り、連結を実行します。 CATは基本的な連結を行い、CATSはスペースを連結して削除し、CATTはトリムし、CATXは区切り文字を使用して連結します。

デフォルトでは、数値はスペースを含む形式に変換されるため(BEST12。、つまり「3」は3)、通常、CATSは数値に使用する正しい関数です。

proc sql;
create table test as 
select CATS(year, month) as ym from tbl;
run;
28
Joe

別のオプションとして、_||_のような_X1||X2_演算子、または_X1||X2||X3||X4_のような一度に複数の演算子と連結できます。

TRIM(LEFT(X1))||TRIM(LEFT(X2))のようにtrimまたはleftを追加できます

TRIM(X1)||','||TRIM(X2)のようなデリメータを追加できます

0
FullStack