SAS文本到日期格式

时间:2014-02-04 21:14:25

标签: sas date-conversion

我在SAS中有一个非常基本的问题

我有以下宏变量,它是文本格式,我想转换为日期格式...不太确定如何执行此操作:

%let mydt = 06/30/1999;

如何将其转换为日期格式,以便^

%let mydtnew = "06/30/1999"d;

感谢您的帮助......

2 个答案:

答案 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