写点什么

YashanDB TIMESTAMPDIFF 函数

作者:YashanDB
  • 2025-08-07
    广东
  • 本文字数:1030 字

    阅读完需:约 3 分钟

TIMESTAMPDIFF 函数根据 unit 所指定的时间单位,计算 expr1 与 expr2 之间的时间差,返回一个 BIGINT 类型的数值,expr1 小于 expr2 时返回值为正,expr1 大于 expr2 时返回值为负。

unit

表示函数计算结果的单位,unit 不可以为 NULL,且必须为如下字符字面量中的一项:

  • MICROSECOND

  • SECOND

  • MINUTE

  • HOUR

  • DAY

  • WEEK

  • MONTH

  • QUARTER

  • YEAR

expr1/expr2

expr1 和 expr2 为 YashanDB 认可的通用表达式,其值须为 TIMESTAMP、DATE 或 TIME 类型,或可以转换为 TIMESTAMP、DATE 类型的字符型。

当 expr1 或者 expr2 的值为 NULL 时,函数返回 NULL。

当 expr1 或者 expr2 的值为 DATE 类型时,系统对微秒部分补 0。

当 expr1 或者 expr2 的值为 TIME 类型时,系统对缺少的日期部分补充为当天日期值。

示例

SELECT TIMESTAMPDIFF(DAY,'1583-10-01 08:00:00','2000-09-30 07:59:59') res FROM DUAL;                  RES ---------------------                152305
SELECT TIMESTAMPDIFF(DAY,'2022-3-1','2022-4-1') res FROM DUAL; RES--------------------- 31
SELECT TIMESTAMPDIFF(DAY,'2022-4-1','2022-3-1') res FROM DUAL; RES--------------------- -31
复制代码

代码

TIMESTAMPDIFF::= TIMESTAMPDIFF "(" unit "," expr1 "," expr2 ")" 
复制代码

TIMESTAMPDIFF 函数根据 unit 所指定的时间单位,计算 expr1 与 expr2 之间的时间差,返回一个 BIGINT 类型的数值,expr1 小于 expr2 时返回值为正,expr1 大于 expr2 时返回值为负。

unit

表示函数计算结果的单位,unit 不可以为 NULL,且必须为如下字符字面量中的一项:

  • MICROSECOND

  • SECOND

  • MINUTE

  • HOUR

  • DAY

  • WEEK

  • MONTH

  • QUARTER

  • YEAR

expr1/expr2

expr1 和 expr2 为 YashanDB 认可的通用表达式,其值须为 TIMESTAMP、DATE 或 TIME 类型,或可以转换为 TIMESTAMP、DATE 类型的字符型。

当 expr1 或者 expr2 的值为 NULL 时,函数返回 NULL。

当 expr1 或者 expr2 的值为 DATE 类型时,系统对微秒部分补 0。

当 expr1 或者 expr2 的值为 TIME 类型时,系统对缺少的日期部分补充为当天日期值。

示例

SELECT TIMESTAMPDIFF(DAY,'1583-10-01 08:00:00','2000-09-30 07:59:59') res FROM DUAL;                  RES ---------------------                152305
SELECT TIMESTAMPDIFF(DAY,'2022-3-1','2022-4-1') res FROM DUAL; RES--------------------- 31
SELECT TIMESTAMPDIFF(DAY,'2022-4-1','2022-3-1') res FROM DUAL; RES--------------------- -31
复制代码


用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB TIMESTAMPDIFF函数_YashanDB_InfoQ写作社区