咨询SAS中intnx('month', datepart(date_example),0,'end')的执行结果
问题解答
对,当date_example取值为'2010-05-12'时,这段SAS代码的执行结果就是'2010-05-31',也就是该日期所在月份的最后一天。
拆解下代码的逻辑:
datepart(date_example):如果date_example是datetime类型,这个函数会提取其中的日期部分;如果本身就是日期类型,结果就是原日期(这里就是'2010-05-12')。intnx('month', datepart(date_example), 0, 'end'):这是SAS里用于计算时间间隔边界的核心函数:- 第一个参数
'month'指定按月份为间隔单位 - 第二个参数是基准日期
- 第三个参数
0表示不做月份偏移,就在当前基准日期所在的月份里 - 第四个参数
'end'明确要求返回该月份的最后一天
- 第一个参数
因为2010年5月有31天,所以最终结果就是'2010-05-31'。
内容的提问来源于stack exchange,提问作者JunGi
相关产品推荐
相关产品推荐

