我有一个这种格式的样本数据为char。
Month
2008-09
2007-10
2008-09
如何将上述内容作为日期' 01sep2008' (SAS DESIGN STUDIO)
答案 0 :(得分:1)
输入函数是使用信息解释字符变量的函数。 _(这与输入语句不完全相同,输入语句根据信息解释infile
中的文本。)
可能有一个信息可以正确地解释2008-09
之类的字符串,但我不知道一个,所以我只需要添加一个_01
并应用信息{{1} }
根据您的情况(数据通知文件或数据集/您更喜欢数据步骤或sql / ...),完整的解决方案如下所示:
yymmdd10.
答案 1 :(得分:1)
有几种方法可以做到这一点。 Dirk有一个很好的方法将一天连接到字符串并使用INPUT()
函数。
您还可以将yymmn6.
信息与INPUT()
一起使用。这要求你从字符串中去掉' - '。
data test;
x = '2008-05';
format y date9.;
y = input(compress(x,"-"),yymmn6.);
put y;
run;
您可以使用MDY()
指定月,日和年。在这里,您使用SCAN()
函数从字符串中选择月份和年份,使用“ - ”作为分隔符。
data test;
x = '2008-05';
format y date9.;
y = mdy(scan(x,2,'-'),1,scan(x,1,'-'));
put y;
run;