SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 2351|回复: 5
打印 上一主题 下一主题

在sas中如何修改日期值

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2003-11-16 22:30:51 | 只看该作者

在sas中如何修改日期值

由于小弟对sas处理时间变量的技巧非常不熟悉,故有此一问,程序如下:
data t1;
        input id date1 date2;
        informat date1 ddmmyy10. date2 ddmmyy10.;
cards;
1        12/05/1992        13/11/1945
2        11/03/2022        23/12/1932
run;

data t2;
set t1;
if id=2 then date1='12/10/1998'd;
run;
proc print;
        format date1 ddmmyy10. date2 ddmmyy10.;
run;
运行后,log窗口提示如下:
163  if id=2 then date1='12/10/1998'd;
                        -------------
                        77
ERROR: Invalid date/time/datetime constant '12/10/1998'd.
ERROR 77-185: Invalid number conversion on '12/10/1998'd.
我到sas网站查找解决方法无果,(我对sas网站使用同样非常不熟悉)故恳请高人指点。谢谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2003-11-17 10:01:53 | 只看该作者

原来如此

sas在处理日期变量时,通过cards(datalines)读入具体日期值时,可以用格式输入,但在利用赋值语句给一个日期变量赋值时,就要使用日期常量的方式,而sas中日期常量采用‘日期+月份前三个英文字母+年份’后跟d的形式表示。所以如以上我的程序的写法是不可能得到预期结果的。只需将赋值语句改为date1=‘12oct1998’d即可。
为自己学艺不精汗颜!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2003-11-17 11:10:03 | 只看该作者
高!实在是高!

你也可以这样啊:

if id=2 then date1=mdy(10,12,1998);
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2003-11-17 12:31:24 | 只看该作者
data t1;
input id d1:$10. d2:$10.;
date1=input(d1,ddmmyy10.);
date2=input(d2,ddmmyy10.);
format date1 ddmmyy10.;
format date2 ddmmyy10.;
cards;
1 12/05/1992 13/11/1945
2 11/03/2022 23/12/1932
run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2003-11-17 13:13:33 | 只看该作者
还是willon高啊,呵呵!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2003-11-22 13:26:06 | 只看该作者

3x a lot

受益匪浅! <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->  <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-1-5 18:49 , Processed in 0.320854 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表