楼主: Aimerrhythm
839 4

[问答] 时间格式问题求助 [推广有奖]

  • 0关注
  • 0粉丝

大专生

11%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.4500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
293 点
帖子
6
精华
0
在线时间
79 小时
注册时间
2020-5-18
最后登录
2024-4-19

楼主
Aimerrhythm 学生认证  发表于 2020-5-20 15:23:48 来自手机 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
问题如图
158995942946166.png
二维码

扫码加我 拉你入群

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

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


沙发
Jia1Zhao 发表于 2020-5-22 14:33:56
你要的date1是数值型变量???

藤椅
林大侠 在职认证  发表于 2020-5-22 14:35:50
亲,你看这样可以吗?
用字符串移除的方法,得到一个这样的数据:日期一20200522在日期二20200510之后。
代码如下:
  1. data _null_;
  2. x1='10may2020'd;
  3. x2='22may2020'd;
  4. if x2>x1 then
  5. x3='日期一'||compress(put(x2,yymmdd10.),'-')||'在日期二'||compress(put(x1,yymmdd10.),'-')||'之后';
  6. put x3;
  7. run;
复制代码

板凳
jg.sas 发表于 2020-5-25 16:20:40
标准的iso8601格式的字符日期是可以比较大小的
put   %sysfunc(data1 , yymmdd10. )  %sysfunc(data2 , yymmdd10. );

报纸
Cecilia_Xi 在职认证  发表于 2020-5-27 09:34:57
连接符||,只能处理字符型变量,所以只要使用这个符号,亦是sas帮你把数值转为字符(sas默认日期格式),或是你自己用put先转一下。
至于计算问题,put生成字符变量(yymmdd10.的格式)用于||,旧有日期变量用于计算。

PS. 目前看的其它几个连接函数cat,catx也都是处理字符或字符变量的

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

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