繁体   English   中英

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

[英]How to extract month from a date in SAS

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

我曾尝试在 SAS 中使用一些 month() 函数的组合,但到目前为止它只是丢失了。 日期格式如下:01/31/2017 (MMDDYY10.)

我试过了

month = month(end_date) 

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

我希望月份显示为数字 (01) 或 3 个字母的代码 (JAN),目前只是缺少 (.)

提前致谢!

要使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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM