楼主: flyarrow998
24900 14

SAS获取当前日期的上月初日期、上月末日期问题 [推广有奖]

11
flyarrow998 发表于 2013-3-14 16:54:22
webgu 发表于 2013-3-14 16:27
11   data _null_;
12   begdate=put(intnx('month',today(),-1,'b'),yymmdd10.);
13   enddate=put(intn ...
知道原因了,必须带单引号进去。
目前 put &begdate   put &enddate
2013-02-01 2013-02-28 没有单引号,请问如何添加两个单引号,让put后变为 '2013-02-01'。

用"'"|| &begdate||"'" 的方法 ,put 后为 "'"||2013-02-01||"'"  怎么没有转义和字符连接呢? 请问怎么添加个单引号上去呢?

12
flyarrow998 发表于 2013-3-14 17:08:30
终于搞定了 %str(%'&begdate%')  就OK了,谢谢各位!

13
playmore 发表于 2013-3-14 19:57:57
webgu 发表于 2013-3-14 14:05
嗯,不报错,但是好像不能出结果。
查了下,putc,putn在运行时执行。
put在编译时执行。
我用这个PUTN为日期宏变量改变格式

%let Today='12FEB2012'd;
%let FirstDayOfLastMonth=%SYSFUNC(PUTN(%SYSFUNC(INTNX(Month,&Today,-1)),DATE9.))S;
%put &FirstDayOfLastMonth;

若用%PUT则不行
已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
webgu + 10 + 10 + 1 + 1 + 1 观点有启发

总评分: 经验 + 10  论坛币 + 10  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

14
webgu 发表于 2013-3-14 21:31:51
playmore 发表于 2013-3-14 19:57
我用这个PUTN为日期宏变量改变格式

%let Today='12FEB2012'd;
%let begdate=%sysfunc(putn(%sysfunc(intnx(month,&today,-1)),yymmdd10.));
%put &begdate;

嗯,试了下。不错。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

15
944536616@qq.co 发表于 2017-10-7 11:46:01
如果数据a=2006 如何转换成a=2006-01-01,谢谢大神指点

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-27 03:34