SAS PROC SQL-如何计算日期差

时间:2018-08-20 10:12:54

标签: sas

我正在将SAS与SQL过程一起使用。 我需要计算一个字段作为与今天之间的日期差,不包括从出生日期算起的天数。

PROC SQL;
CREATE TABLE myTable AS
SELECT BIRTH_DATE, <some function> AS DAYS_BETWEEN_BIRTHDATE_AND_TODAY
FROM someTable

执行此操作的最佳方法是什么?如果我要计算月差异或年差异,该怎么办?

2 个答案:

答案 0 :(得分:1)

您可以使用 INTCK() 获得today()Birth_Date列之间的天数。

代码

proc sql;
  create table myTable as
  select Birth_Date, intck('day', Birth_date, today()) as No_of_days
  from someTable;
quit;

答案 1 :(得分:0)

我找到了此功能,正在寻找其他解决方案。

%let today=%sysfunc(date());
PROC SQL;
CREATE TABLE myTable AS
SELECT BIRTH_DATE, 
intck('DAYS', datepart(BIRTH_DATE), &today) AS DAYS_BETWEEN_BIRTHDATE_AND_TODAY
FROM someTable

可以将“ DAYS”更改为“ MONTHS”或“ YEARS”