2013-04-24 2 views
10

Mam tabelę, która ma dwie wartości numeryczne o nazwie year i month. Chciałbym utworzyć nową tabelę, która ma jedną wartość o nazwie ym, która jest tylko połączeniem year i month. Oto przykład:concat dwie liczby w sas proc sql

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

Jaka jest funkcja CONCAT że idzie?

Odpowiedz

27

CAT, CATS, CATT, CATX wykonują wszystkie konkatenacje tak długo, jak jesteś w 9.1.3 lub późniejszym (i CATQ na 9.2 lub późniejszym); CAT wykonuje podstawowe konkatenacje, CATS łączy i usuwa przestrzenie, CATT trimery i CATX konkatenuje się z ogranicznikiem.

Zazwyczaj CATS jest poprawną funkcją dla liczb, ponieważ domyślnie liczby są umieszczane w formacie ze spacjami (BEST12., Więc "3" to 3).

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

Zawsze daje +1 odpowiedzi przy użyciu dowolnej funkcji CAT% ;-) –

0

W innym wariancie można łączyć z operatorem || jak X1||X2 lub nawet wielokrotności naraz jak X1||X2||X3||X4

Możesz dodać trim lub left jak TRIM(LEFT(X1))||TRIM(LEFT(X2))

Możesz dodać delimeters jak TRIM(X1)||','||TRIM(X2)