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

Date 如何在SAS proc sql中将字符转换为日期,date,sas,character,Date,Sas,Character,我有一列名为yearmonth的数据存储为字符数据。我想将此列转换为另一列中的SAS日期,格式为dd/mm/yyyy 例如,假设其中一个数据是201201。我想把它转换成2012年1月15日。问题是我只能使用proc sql,无法更改数据。有人能帮我解决这个问题吗 编辑: 这就是我所做的: INPUT("01/" || substr(t1.Yearmonth, 5,2) ||"/"|| substr(t1.Yearmonth, 1, 4),ddmmyy10.) 你可以试试下面的方法 data

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

例如,假设其中一个数据是201201。我想把它转换成2012年1月15日。问题是我只能使用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 ;

你如何得出一个月的哪一天?如果它在列中缺少,它是否总是在月中旬?作为旁注:这个站点不打算是代码服务。我们很高兴帮助您解决您在尝试解决问题时遇到的问题。请编辑您的问题并添加有关您迄今为止尝试过的内容的信息。另外,请花些时间阅读stackoverflow.com/help/how-to-ask。在这种特殊情况下,如果您能解释一下您所读到的关于
proc sql
,将字符字段转换为数字字段的不同方法,和日期格式。抱歉@Nadeem_MK我只能更改过程部分,无法更改数据part@newb<若要查看日期的人工表示,可以在
input()
语句后添加
format=…
,其中
可以是在中找到的任何日期格式。