如何在 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 ;
我有一列名为 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 ;