在YYMMDD10中获取SAS中的当前日期.格式为日期数据类型



我有一个SQL代码,我在SAS中使用进程SQL运行。

proc sql;
select col_A,col_B,put(date(),yymmdd10.) as col_C
from table_P;
create table_Q as 
(select * from table_P);
quit;

col_C是今天的日期,以Varchar2格式存储。我希望它以日期格式存储。我怎么做呢?我希望日期条目看起来像"2022-05-04"。即使日期的格式发生了变化,我如何从Varchar转换到date数据类型?

create table table_Q as 
select col_A
, col_B
, date() format=yymmdd10. as col_c 
from table_P;

将col_C存储为SAS日期值,但应用yyddmm10。在显示数据时设置格式。

如果您有一个字符变量,请使用INPUT()函数使用YYMMDD10将其转换为日期值。备用。

一旦你有了一个日期值(自1960年以来的天数),你就可以附加任何你想要的日期类型格式,以你喜欢的风格打印日期值。

如果TABLE_P中的COL_C是字符变量那么试试:

正常SAS代码中:

data table_Q;
set table_P;
datevar = input(col_c,yymmdd10.);
format datevar date9.;
run;
在PROC SQL代码中:
proc sql;
create table_Q as
select a.*,input(col_c,yymmdd10.) as datevar format=date9.
from table_P a
;
quit;

最新更新