我在SAS中有一个非常基本的问题
我有以下宏变量,它是文本格式,我想转换为日期格式...不太确定如何执行此操作:
%let mydt = 06/30/1999;
如何将其转换为日期格式,以便^
%let mydtnew = "06/30/1999"d;
感谢您的帮助......
答案 0 :(得分:4)
试试这个 - 那是你所追求的吗?
%let mydt = 06/30/1999;
%let mydt2 = %sysfunc(inputn(&mydt,mmddyy10.));
%put &mydt2;
答案 1 :(得分:2)
请注意,在SAS中,日期文字应遵循DDMMMYYYY(date9。)格式。 所以,你可以使用这样的东西:
%let mydtnew = %sysfunc(putn(%sysfunc(inputn(&mydt., MMDDYY10.)), date9.));
最内层%sysfunc
告诉SAS日期是mm / dd / yyyy格式 - 在此阶段,文本日期存储为数字。外部%sysfunc
告诉SAS采用数字日期并将其格式化为date9。格式。
注意:mydtnew将存储没有双引号的日期或最后的d
。 Usuall的做法是在您使用宏时添加引号和d
,例如
where account_open_date>="&mydtnew."d