代码之家  ›  专栏  ›  技术社区  ›  paolof89

SAS PROC SQL-如何计算日期差

sas
  •  0
  • paolof89  · 技术社区  · 7 年前

    我需要计算一个字段作为与今天的日期差,例如从出生日期算起的天数。

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

    最好的方法是什么?如果我想计算月差或年差呢?

    2 回复  |  直到 7 年前
        1
  •  1
  •   Ullas    7 年前

    你可以用 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;
    
        2
  •  0
  •   paolof89    7 年前

    %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
    

    可以将“天”改为“月”或“年”

    推荐文章