J'ai une table qui a deux valeurs numériques appelées year
et month
. Je voudrais créer une nouvelle table qui a une valeur appelée ym
qui est simplement la concaténation de year
et month
. Voici un exemple:
proc sql;
create table test as
select CONCAT(year, month) as ym from tbl;
run;
Quelle est la fonction CONCAT
qui y va?
CAT, CATS, CATT, CATX effectuent tous la concaténation, tant que vous êtes sur 9.1.3 ou ultérieur (et CATQ sur 9.2 ou ultérieur); CAT effectue la concaténation de base, CATS concatène et dénude les espaces, les bordures CATT et CATX concatène avec un délimiteur.
Généralement, CATS est la fonction correcte à utiliser pour les nombres car, par défaut, les nombres sont placés dans un format avec des espaces (BEST12., Donc "3" vaut 3).
proc sql;
create table test as
select CATS(year, month) as ym from tbl;
run;
Comme autre option, vous pouvez concaténer avec l'opérateur ||
tel que X1||X2
ou même plusieurs à la fois comme X1||X2||X3||X4
Vous pouvez ajouter trim
ou left
comme TRIM(LEFT(X1))||TRIM(LEFT(X2))
Vous pouvez ajouter des délimètres comme TRIM(X1)||','||TRIM(X2)