Concat два числа в sas proc sql

У меня есть таблица с двумя числовыми значениями year и month. Я хотел бы создать новую таблицу, которая имеет одно значение, называемое ym, которое является просто конкатенацией year и month. Вот пример:

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

Какова функция CONCAT, которая идет туда?

Ответ 1

CAT, CATS, CATT, CATX все выполняют конкатенацию, если вы на 9.1.3 или новее (и CATQ на 9.2 или новее); CAT выполняет основную конкатенацию, CATS конкатенации и полосы пространства, CATT отделки, и CATX конкатенаций с разделителем.

Обычно CATS является правильной функцией для использования для чисел, поскольку по умолчанию номера помещаются в формат с пробелами (BEST12., поэтому "3" равно 3).

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

Ответ 2

В качестве другого варианта вы можете объединиться с оператором || как X1||X2 или даже кратным одновременно, как X1||X2||X3||X4

Вы можете добавить trim или left как TRIM(LEFT(X1))||TRIM(LEFT(X2))

Вы можете добавить метки, например TRIM(X1)||','||TRIM(X2)