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

Getting Current date in SAS in YYMMDD10. Format in Date Datatype

我有一个 SQL 代码,我在 SAS 中使用 proc 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;