我想根据日期字段在 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
答案 0 :(得分:1)
您将需要使用datepart
函数仅从birth_date
字段中提取日期而不是时间。另外,为了使SAS识别日期,您需要在日期字符串的末尾添加d
。
PROC SQL;
SELECT COUNT(*)
FROM students t
WHERE datepart(t.birth_date) > '1JAN2002'd;
quit;