SAS PROC SQL-如何将字符串转换为日期

时间:2018-08-20 13:45:15

标签: sas

我想根据日期字段在 where 条件下在SAS上创建SQL过程。 例如,我需要计算2002年1月1日以后出生的所有学生 代码是这样的:

PROC SQL;
SELECT COUNT(*) 
FROM students t
WHERE t.birth_date > '2002-01-01'

查看其他stackOverflow主题,我发现解决方案是使用 input()函数,但是我不清楚如何处理不同格式。

在此示例中,birth_date字段的格式为:01JUL2017:00:00:00

1 个答案:

答案 0 :(得分:1)

您将需要使用datepart函数仅从birth_date字段中提取日期而不是时间。另外,为了使SAS识别日期,您需要在日期字符串的末尾添加d

PROC SQL;
SELECT COUNT(*) 
FROM students t
WHERE datepart(t.birth_date) > '1JAN2002'd;
quit;