楼主: yuxi_423
7722 9

SAS日期函数问题 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

90%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
26 点
帖子
3
精华
0
在线时间
3 小时
注册时间
2012-7-5
最后登录
2016-6-3

楼主
yuxi_423 发表于 2012-7-5 10:36:27 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

最近开始学习使用SAS, 想得到一个字符串,在Oracle里面的SQL是:to_char(add_months(trunc(sysdate),-1),'yyyymm')

得到上个月,格式为YYYYMM。 我查看了SAS的函数,发现没有年月的,请朋友们帮忙看看,谢谢


二维码

扫码加我 拉你入群

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

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

关键词:日期函数 months Oracle month date Oracle 字符串 朋友

沙发
ziyenano 发表于 2012-7-5 18:48:10
substr(put(date(),yymmddn8.),1,6)

藤椅
yuxi_423 发表于 2012-7-6 09:29:17
楼上的朋友,谢谢,运行后得到201207, 这个是当月的月份,请问如何得到上月的月份呢,运行后应该得到201206
再次感谢!

板凳
chendonghui1987 发表于 2012-7-6 09:58:44
把201207在转成数值型,减去1后,再转成字符就可以了

报纸
bobguy 发表于 2012-7-6 10:01:05
There are many formats you can choose from, see example below

450      data _null_;
451        x='7jan2012'd;
452        put x yymm7.;
453        put x yymmc7.;
454        put x yymmd7.;
455        put x yymmn6.;
456        put x yymmp7.;
457        put x yymms7.;
458        put x yymon7.;
459
460
461      run;

2012M01
2012:01
2012-01
201201
2012.01
2012/01
2012JAN
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.01 seconds
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
zhangzachary + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

地板
mymine 发表于 2012-7-6 10:03:19
chendonghui1987 发表于 2012-7-6 09:58
把201207在转成数值型,减去1后,再转成字符就可以了
大侠,如果是201201,数值型-1的话就有问题了

7
ziyenano 发表于 2012-7-6 10:08:15
substr(put(intnx('month',date(),-1),yymmddn8.),1,6)

8
yuxi_423 发表于 2012-7-6 10:36:37
十分感谢楼上的热心的朋友们,用了ziyenano的表达式,得出了正确的结果。
我自己不会做的原因是我不知道intnx('month',date(),-1)也可以转换成日期。
再次感谢ziyenano

9
chendonghui1987 发表于 2012-7-6 10:53:36
没有考虑到这个问题,7楼正解

10
gds_1234 发表于 2012-7-6 13:05:58
查看一下MDY,可以解决,结合PUT等函数

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-7 03:26