全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3345 2
2013-02-11
通过以下代码将字符型的日期2012-03-31改为数值型的日期2012-03-31
data a(keep=date);
  set gfs.fs_comba(obs=10);
  date=input(accper,yymmdd10.);
  format date yymmdd10.;
run;
为什么input语句得到的结果不是2012-03-31这种形式的,而是sas内部数值,还需要format重新定义?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-2-12 00:48:15
应该说没有你所谓的数值型变量,举例来说,如果2013年1月1号和2012年12月31号之间是差一天,所以,用sas内部数值型计算是19359-91358=1, 如果存成20130101-20121231=8870,这明显是错误的。所以说,我们所看到的format的数值型日期,只是为了我们自己看着方便,真正幕后做计算还是得用sas自身使用的时间,只不过他们的时间是用1960年1月1号作为基准点的。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-2-13 22:18:24
tangliang0905 发表于 2013-2-12 00:48
应该说没有你所谓的数值型变量,举例来说,如果2013年1月1号和2012年12月31号之间是差一天,所以,用sas内部 ...
多谢多谢,学习了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群