许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  SAS时间区间函数:INTNX和INTCK详解

SAS时间区间函数:INTNX和INTCK详解

阅读数 4
点赞 0
article_banner

SAS 区间 函数 INTNX 和 INTCK

INTCK/INTNX 可以对date \ datetime\time 格式的时间进行计算,可以使用SASriqi进行日历计算,可以按照间隔递增计算日期,

   也可以计算日期之间的 时间间隔

INTNX(interval,start-from,increment<,alignment>); 按间隔递增时间,不设置format则返回的是数值形式的时间。

interval: 指定间隔的 类  型;

   start-from:开始时间

   increment:以interval 为基准增加的量,可正可负可为零;

   alignment: 可选参数, 控制 函数返回值相对interval时间参数的位置

   BEGINNING(B):将函数返回值调整至interval的开始(函数默认的参数选项,可不表明)

   MIDDLE( M ):将函数返回值调整至interval 的中间

   END( E ):将函数的返回值调整至interval的结束

   SAME( S ) :将函数的返回值调整至与interval一样的时间点

interval 包含 single_unit interval 和 multi_unit interval

single-unit intervals 包含:DAY/WEEKDAY/ WEEK  /TENDAY/SEMIMONTH/MONTH/QTR/SEMIYEAR/YEAR

single-unit intervals for TIME: SECOND/MINUTE/HOUR.

   Datetime interval: 在 在DATE间隔类型前加前缀DT;

single-unit interval 例子:

 DATA test;
date_now = '23JUL2019'd;
date1 = INTNX('MONTH',date_now,3);
date1_1 = INTNX('MONTH',date_now,3,'B');
date1_2 = INTNX('MONTH',date_now,3,'M');
date1_3 = INTNX('MONTH',date_now,3,'E');
date1_4 = INTNX('MONTH',date_now,3,'S');
FORMAT date_now date1 date1_1 date1_2 date1_3 date1_4 DATE10.;
RUN;

multi-unit interval 例子:month2,day40

  data test1;
    date_now = '10JUL2019'D;
    date1 = INTNX('MONTH2',date_now,1);
    date2 = INTNX('DAY20',date_now,2);
    FORMAT date_now date1 date2  DATE10.;
    RUN;

注释:如果用INTNX计算两个日期的月份(MONTH)间隔,没有alignment 参数,

   不论开始日期是哪一天,SAS都将其认为是所在月份的第一天。

INTCK(interval,start-date,end-date,<‘method’>):返回2个时间之间相差的间隔(interval)数。

method: 用于指定使用离散或连续的方式计算间隔数。

   COUNTINUOUS(C/CONT) :连续

   DISCRETE(D/DISC) :离散

   其余的参数与INTNX一样;

例子:

 DATA test2;
date_now = '10JUL2019'D;
date = '12DEC2019'D;
date1 = '19SEP2019'D;
date2 = '01AUG2019'D;
num = intck('QTR',date_now,date); *返回值为1;
num1 = intck('QTR',date_now,date1);*返回值为0,因为在同一个Q;
num3 = intck('MONTH',date_now,date1);
num4 = intck('MONTH2',date_now,date1);
num5 = intck('MONTH',date_now,date2);*即使两个时间只差一天,由于不在同一个月份,返回值为1;
FORMAT date_now date date1 date2 date10.;
RUN;



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空