跳到主要内容

make_interval:创建间隔

速查结论

make_interval([years[, months[, weeks[, days[, hours[, mins[, secs]]]]]]]) 是 Spark SQL 中用于从年、月、周、日、小时、分钟和秒创建间隔值的函数。

语法

make_interval([years[, months[, weeks[, days[, hours[, mins[, secs]]]]]]])

参数说明

参数类型说明
yearsINT年数,可以是正数或负数
monthsINT月数,可以是正数或负数
weeksINT周数,可以是正数或负数
daysINT天数,可以是正数或负数
hoursINT小时数,可以是正数或负数
minsINT分钟数,可以是正数或负数
secsDECIMAL包含微秒精度的小数部分的秒数

示例

> SELECT make_interval(100, 11, 1, 1, 12, 30, 01.001001);
100 years 11 months 8 days 12 hours 30 minutes 1.001001 seconds
> SELECT make_interval(100, null, 3);
NULL
> SELECT make_interval(0, 1, 0, 1, 0, 0, 100.000001);
1 months 1 days 1 minutes 40.000001 seconds

常见报错与避坑指南

  • 任一参数为 NULL 时,函数返回 NULL
  • 参数按位置匹配,可以省略尾部参数(默认值为 0),但不能跳过中间参数。
  • 注意 weeks 会被转换为天数(weeks * 7)并与 days 累加,如示例中 1 week + 1 day 显示为 8 days

Since: 3.0.0

📱关注公众号

「数据仓库技术」文章同步更新,不错过每一篇干货

微信公众号二维码
💬加群交流

备注「数据仓库技术」加入社群,每日一道大厂SQL真题

交流微信二维码

你可能还想看