我有一个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;