В SAS ФОРМАТ - это просто инструкция для отображения значения.Так что если у вас есть одна переменная с DATE9.спецификация формата прилагается и другая с YYMMDD10.присоединенный формат, фактическое сохраненное значение не изменяется.
Вы можете использовать оператор FORMAT, чтобы изменить формат отображения, используемый с переменной.Вы можете просто сделать это в точке, где вы отображаете данные.Скажите в шаге PROC.
proc print data=a ;
format date_vara yymmdd10.;
run;
proc print data=b ;
format date_varb yymmdd10.;
run;
Или вы можете прикрепить формат в определении набора данных.Тогда по умолчанию SAS будет использовать это для форматирования.
data new;
set a b ;
format date_vara date_varb yymmdd10.;
run;
Вы даже можете изменить метаданные набора данных, чтобы изменить формат, прикрепленный к переменной.
proc datasets lib=work nolist;
modify a;
format date_vara yymmdd10.;
run;
quit;
PS Если вы хотитедобавьте литералы даты (константы) в свой код SAS, тогда вам нужно всегда использовать строки в стиле, который может прочитать информатор DATE.where date_varb >'01JAN2019'd ;
Независимо от того, какой формат отображения прикреплен к переменной.