在SAS相当于date_part数函数(equivalent date_part function

2019-09-16 23:15发布

我有一个SQL语句来提取日期对象。 它运行良好Postgres里而不是SAS。 部分查询是这样的:

(case when date_part('month',run_date)::integer < 10 
     THEN '0'||
          date_part('month',run_date)::varchar(1)||
          date_part('year',run_date)::varchar(4)
     else  date_part('month',run_date)::varchar(2)||date_part('year',run_date)::varchar(4)
     end) as our_date

在SAS,没有date_part数函数。 我试图日期部分功能。 但它不执行相同的功能。 我怎么能有这样的SQL语句在SAS运行? 谢谢。

Answer 1:

DATEPART

data have;
 timestamp='01JAN2012:08:48'dt;
run;

proc sql;
 select datepart(timestamp) format=mmddyy10., 
 timepart(timestamp) format=time.,
 month(datepart(timestamp)),
 year(datepart(timestamp))
 into :date , :time, :month, :year
 from have;
quit;

%put DATE: &date;
%put TIME: &time;
%put MONTH: &month;
%put YEAR: &year;


Answer 2:

我想你可以只使用

MONTH(run_date)

YEAR(run_date)


文章来源: equivalent date_part function in sas
标签: sql sas