SAS语法学习--函数系列

这篇博客详细介绍了SAS中的时间日期函数,包括创建、提取、运算和节日类函数,以及字符函数如字符串转换、缩减、筛选等,同时涵盖数据清洗中的一些关键函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间日期函数

分为四大类,创建类、提取类、基于日期的运算类、节日与特殊历法类

创建类(time=函数)

  • date()和today()----返回当前日期,功能上面基本上一致
  • datetime()和time()—两个函数分布返回当前日期时间与当前时间
  • MDY(month,day,year)–创建包含年月日的日期值/dhms(date,hour,minute,second)–创建包含日期与时分秒的日期时间值/hms(hour,minute,second)—创建包含时分秒的时间值

提取类

函数可以从sas时间日期值中提取想要的信息

  • 提取年月日
    year(date)/year(today())—提取日期值中的年份
    month(date)----提取日其中的月份,返回月份对应的数字
    day(date)----提取日期中的具体日期,返回日期中相对应的数字

  • 提取季度和工作日
    QTR(data)—该函数可以提取日期值中的季度
    weekday(date)----该函数可以提取日期值中的日部分是第几个工作日,每周的周日算作周一的开始

  • 提取时、分、秒
    hour(datetime or time)—该函数可以提取日期时间值中的小时部分
    minute(datetime or time)—该函数可以提取日期时间值中的分钟
    second(datetime or time)—该函数可以提起日期时间值中的秒数

  • 整体提取日期或时间部分
    datepart(datetime)-----整体提取日期部分
    timepart(datetime)----整体提取时间部分

  • week(sas-date,descriptor)–该函数可以提取日期值中的周数
    descriptor,有三个取值,u/v/w,一般情况下默认为u,u是周日作为每周的第一天而w是周一作为每周的第一天,返回都是0-53。v返回范围1-53,周一作为每周的第一天,每年的周一包含1月4号和全年第一个周四

基于日期的运算类

  • 计算两个给定日期时间值之间的间隔
intck(interval(multiple)(shift-index),start-date,end-date,<'method'>) 

- interval---间隔以什么单位计算(date、datetime、time、second.....),如果需要一些特定的日起算法,需要用到multiple(将interval从单一周期改变为多个) 和 shift-index(将interval的开始时间点移动到指定子周期作为新的开始时间点)
- start-date与end-date,需要与interval类型一致
- method--指计算间隔时是用连续的方法还是离散的方法(c/cont 和 D/disc表示,一般默认为D)
  • 返回与指定日期时间相隔指定间隔的日期时间值
intnx(interval(multiple)(shift-index),start-from,increment<,'aligment'>) 
 - increment<,'alignment'>
    increnment 用来指定返回值与start-date之间的间隔,可以为正负或者零
    alignment是一个可选的参数有四个选项(beginning/middle/end/same默认为B)
  • 返回两个日期之间相差的年份,包括不满一年的部分
yrdif(start-date,end-da
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

[email protected]

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值