我有一个包含50美元字段的数据集。烧焦 示例值= 6/1/2015 0:00:00
我试图从该数据集中获取一个字段来存储该文本字符串中的YYYYMM值。
因此,对于这个例子,我需要201506
我知道这是可能的;但似乎无法让它与任何东西一起工作
目前有以下内容让我更接近。
data a;
set a.dataset;
yearmon = input(date,anydtdtm20.);
format yearmon datetime19;
run;
这让我在01JUN2015:00:00:00 我试图将yearmon改为yearmon = input(put(date,anydtdtme20。),yymmd。); 并删除格式行。但这只是给我一个空白值
答案 0 :(得分:0)
只需使用datepart()
函数获取日期时间值的日期部分:
data want ; set have ; yearmon = input(date,anydtdtm20.) ; dt = datepart(yearmon) ; format yearmon datetime19. dt yymmn6. ; run ;
答案 1 :(得分:0)
如果您正在使用input
功能(而不是从文本文件中输入等),您可以要求它截断。
然后使用格式yymmn6.
(n
表示没有分隔符):
data test;
dtvar = '6/1/2015 0:00:00';
x = input(dtvar,mmddyy10.);
format x yymmn6.;
put x=;
run;
如果您想要字符值而不是格式化数字,请添加put
步骤。
data test;
dtvar = '6/1/2015 0:00:00';
x = put(input(dtvar,mmddyy10.),yymmn6.);
put x=;
run;