请选择 进入手机版 | 继续访问电脑版
楼主: kingyaozhi
4942 3

[问答] SAS9.1对datetime格式支持好么?为什么时间总是变成数值 [推广有奖]

  • 0关注
  • 1粉丝

本科生

54%

还不是VIP/贵宾

-

威望
0
论坛币
2325 个
通用积分
0.1214
学术水平
10 点
热心指数
15 点
信用等级
4 点
经验
998 点
帖子
62
精华
0
在线时间
107 小时
注册时间
2008-4-4
最后登录
2017-9-11

kingyaozhi 发表于 2011-4-22 17:19:30 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位达达,我有一个数据集从oracle弄来的,有一列变量是时间,informat和format都是datetime20. 也就是ddmmyyyy:hh:mm:ss但是我对它进行year()函数,改变format为date8.或者求时间差datdiff等等操作,都会返回科学计数法的数值。
是因为9.1对datetime20.格式支持不好还是在SAS保存的数据有问题呢?

有没有什么办法能让它变成正常的时间?自己定义该变量的格式?code怎么写呢

谢谢。。
二维码

扫码加我 拉你入群

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

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

关键词:datetime time SAS9 ATET date 时间 格式 SAS 数值 datetime

datetime记录的是秒数,用datepart()或者是 /86400 转换为天数
就可以使用year() datediff()之类的函数了
Let them be hard, but never unjust

使用道具

kingyaozhi 发表于 2011-4-22 22:42:49 |显示全部楼层 |坛友微信交流群
2# soporaeternus
您就是大仙!!果然好用
不过我还有个疑问,就是我用以下代码得到该日期的年份,而不再需要year函数了。

  1. select datepart(variable)
  2. format year4.
  3. from lib.data;
复制代码



我想知道year(datepart(variable))得到的东西是什么意义啊,我试了一下返回的是1965,原日期是2005年1月5日0点0时0分。year函数不是返回日期的年份部分吗?

使用道具

kingyaozhi 发表于 2011-4-22 22:42
2# soporaeternus
您就是大仙!!果然好用
不过我还有个疑问,就是我用以下代码得到该日期的年份,而不 ...
同问啊~你这个问题解决了嘛?怎么处理呀?

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-28 19:52