将 yyyy/mm 转换为 mmyyyy SAS 格式

问题描述 投票:0回答:1

也许问了很多次..但仍然在挣扎。 如何将以下日期格式:2020/11 (yyyy/mm) 转换为 NOV2020?我没有日子。

提前谢谢您。

最好的。

sas
1个回答
1
投票

如果您没有月份中的某一天,那么您必须将值作为字符串。

data have;
  charvar = '2020/11';
run;

如果您想创建日期值,您必须选择要使用的月份中的某一天。通常使用该月的第一天。然后,您可以使用您想要的任何日期样式格式显示结果日期。

data want;
  set have;
  datevar = input(cats(charvar,'/01'),yymmdd10.);
  format datevar monyy7.;
run;

结果:

OBS    charvar    datevar

 1     2020/11    NOV2020

如果您实际上不需要日期值,那么您可以将原始字符串替换为使用 PUT() 函数应用 MONYY7 的结果。格式为 INPUT() 函数创建的日期值。

data want;
  set have;
  charvar = put(input(cats(charvar,'/01'),yymmdd10.),monyy7.);
run;
© www.soinside.com 2019 - 2024. All rights reserved.