web-dev-qa-db-fra.com

concat deux nombres en sas proc sql

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?

10
Alex

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;
28
Joe

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)

0
FullStack