2

日付オブジェクトを抽出する 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 関数はありません。datepart関数を試しました。しかし、同じ機能を実行していません。そのSQLステートメントをsasで実行するにはどうすればよいですか? ありがとう。

4

2 に答える 2

11

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;
于 2012-05-02T16:03:20.580 に答える
0

私はあなたがちょうど使用できると思います

MONTH(run_date)

YEAR(run_date)
于 2012-05-02T14:59:55.413 に答える