如何从SAS中的日期中提取月份

时间:2019-04-09 16:20:15

标签: date sas

我正在尝试从SAS中的日期中提取一个月,但是到目前为止,所有新月变量都丢失了。

我已经尝试在SAS中使用month()函数的某些组合,但是到目前为止,它只是缺少而已。日期的格式如下:01/31/2017(MMDDYY10。)

我尝试过

month = month(end_date) 

Month =catx('/',put(month(end_date),z2

我希望“月份”显示为数字(01)或3个字母代码(JAN),但现在缺少(。)

谢谢!

1 个答案:

答案 0 :(得分:1)

要让month()返回缺失值,end_date变量必须是数字且缺失。如果end_date是字符变量,则日志将显示invalid numeric data

使用monname3.格式将日期值转换为$ 3。字符值 mon

monthname = put (end_date, monname3.);

其他替代方法是:

  • 保持日期值不变并更改格式,或者
  • 将日期值映射到月初值,并设置其格式

例如:

end_date_copy = end_date;
format end_date_copy monname3.;

end_date_month = intnx('month', end_date, 0);
format end_date_month monname3.;

您最终要做什么取决于 mon 在报告或汇总中如何在下游使用。