如何在PROC FEDSQL中将格式为YYMMDD的字符值更改为日期格式。

huangapple go评论59阅读模式
英文:

How do I change a character value in the format YYMMDD to a date format in PROC FEDSQL

问题

我想将一个以YYMMDD格式(例如,130401代表2013年4月1日)的列更改为(数值型)日期格式。我该如何在PROC FEDSQL中实现这个目标?

在PROC SQL中,我会使用INPUT(DATE_COLUMN,YYMMDD6.),但我不确定在PROC FEDSQL中应该如何操作。

英文:

I want to change a column which is in the format YYMMDD (e.g. 130401 to mean 1st April, 2013), into a (numeric) date format. How do I do this in PROC FEDSQL?

In PROC SQL, I would use INPUT(DATE_COLUMN,YYMMDD6.) but I'm not sure how to do it for PROC FEDSQL

答案1

得分: 2

使用 inputn() 将其转换为数值型的 SAS 日期,然后转换为日期以更改其显示方式。

data foo;
    date_char = '130401';
run;

proc fedsql;
    select inputn(date_char, 'YYMMDD6.')::date as "date"
    from foo;
quit;
date
01APR2013
英文:

Use inputn() to convert it to a numeric SAS date, then cast it to a date to change how it is displayed.

data foo;
    date_char = '130401';
run;

proc fedsql;
    select inputn(date_char, 'YYMMDD6.')::date as "date"
    from foo;
quit;
date
01APR2013

huangapple
  • 本文由 发表于 2023年7月17日 20:20:05
  • 转载请务必保留本文链接:https://go.coder-hub.com/76704404.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定