如何在 SAS proc sql 中将字符转换为日期

How to convert characters to date in SAS proc sql

我有一列名为 yearmonth 的数据存储为字符数据。我想将此列转换为格式为 dd/mm/yyyy 的另一列中的 SAS 日期。

例如,假设其中一个数据是 201201。我想将其转换为 15/01/2012。问题是我只能使用 proc sql 而无法更改数据。谁能帮我解决这个问题?

编辑: 这是我做过的:

INPUT("01/" || substr(t1.Yearmonth, 5,2) ||"/"|| substr(t1.Yearmonth, 1, 4),ddmmyy10.) 

您可以试试下面的方法;

data test;
  mydate='20120115';
  date_new = input(mydate, ddmmyy10.);
  format date_new date10.;
run;

您的数据集包含字符 YYYYMM 日期:

data input ;
input date $ ;
cards ;
201201
;run ;

您可以创建一个新的变量如下:

proc sql ;
  create table output as
  select date, input(date, yymmn6.)+14 as newdate 
  from input
;quit ;