楼主: edwardzxf
6205 2

%put 的显示格式 [推广有奖]

  • 0关注
  • 2粉丝

已卖:32份资源

讲师

26%

还不是VIP/贵宾

-

威望
0
论坛币
222 个
通用积分
0.4203
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
3991 点
帖子
242
精华
0
在线时间
375 小时
注册时间
2010-7-30
最后登录
2021-5-25

楼主
edwardzxf 学生认证  发表于 2014-6-3 01:26:35 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我们知道时间变量本质就是一个数字型变量。可我%put一个宏变量的时候,我要显示成时间格式,而不是数字形式,请问应该怎样呢?如:

%let date=15340;  /*15340对应的日期是2001-12-31*/

%put ***The date is &date ***;

结果:
***The date is 15340 ***

如何让结果是:
***The date is 2001-12-31 ***
二维码

扫码加我 拉你入群

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

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

关键词:put date 时间变量 ATE The 如何

沙发
edwardzxf 学生认证  发表于 2014-6-3 01:39:11
解决了!!!

Using a SAS date constant along with the %SYSFUNC and PUTN functions, you can format a macro variable with any valid SAS date format, for example:
%let day='15feb2010'd;
%put %sysfunc(putn(&day,mmddyy.));
Results in:
2/15/10
Similarly, a datetime constant can be represented with a valid SAS datetime format, for example:
%let day='15feb2010:01:03:00'dt;
%put %sysfunc(putn(&day,datetime.));
Results in:
15FEB10:01:03:00

Source: http://support.sas.com/kb/38/646.html

藤椅
farmman60 发表于 2014-6-3 05:04:27
  1. %let date=15340;
  2. %put %sysfunc(putn(%sysfunc(inputn(&date,5.)),yymmddd10.));
复制代码

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

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