2013-04-24 14 views
10

Ich habe eine Tabelle, die zwei numerische Werte und month hat. Ich möchte eine neue Tabelle erstellen, die einen Wert ym hat, der nur die Verkettung von und month ist. Hier ein Beispiel:concat zwei Zahlen in sas proc sql

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

Was ist die CONCAT Funktion, die es geht?

Antwort

27

CAT, CATS, CATT, CATX führen alle Verkettungen durch, solange Sie 9.1.3 oder höher (und CATQ 9.2 oder höher) verwenden; CAT führt einfache Verkettung durch, CATS verkettet und entfernt Leerzeichen, CATT-Verkürzungen und CATX verkettet mit einem Begrenzer.

Normalerweise ist CATS die korrekte Funktion für Zahlen, da die Zahlen standardmäßig in ein Format mit Leerzeichen (BEST12., Also "3", 3) eingegeben werden.

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

Ich habe immer +1 Antworten mit einer der CAT% -Funktionen ;-) –

0

Als weitere Option können Sie mit dem || Operator wie X1||X2 oder sogar ein Vielfaches auf einmal wie X1||X2||X3||X4

Sie verketten trim oder left wie TRIM(LEFT(X1))||TRIM(LEFT(X2))

hinzufügen können Sie Trennzeichen wie TRIM(X1)||','||TRIM(X2)

hinzufügen