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)