写点什么

YashanDB TIMEDIFF 函数

作者:YashanDB
  • 2025-08-06
    广东
  • 本文字数:1396 字

    阅读完需:约 5 分钟

TIMEDIFF

语法图

TIMEDIFF 函数用于计算 expr1 与 expr2 之间的时间差,返回一个 INTERVAL DAY TO SECOND 类型的数值。

expr1/expr2

  • expr1 和 expr2 为 YashanDB 认可的通用表达式,并且类型相同,即 TIMESTAMP、DATE 或 TIME 类型,或可以转换为 TIMESTAMP、DATE、TIME 类型的字符型。

  • 当 expr1 和 expr2 都不为字符型,且 expr1 和 expr2 类型不同时,则报错。

  • 当其中一个参数为 TIMESTAMP、DATE、TIME 类型,另一个参数为字符型时,则将字符串类型的参数转换成与另一个参数类型相同的时间日期类型。

  • 当 expr1 和 expr2 都为字符型时,则将 expr1 和 expr2 都转成 TIMESTAMP 类型。

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

示例

-- time类型CREATE TABLE time_time_diff(C1 TIME, C2 TIME);
INSERT INTO time_time_diff VALUES('11:37:10', '10:20:09');
SELECT TIMEDIFF(C1, C2) res FROM time_time_diff;
RES -------------------------------- +00 01:17:01.000000
-- date类型CREATE TABLE date_date_diff(C1 DATE, C2 DATE);
INSERT INTO date_date_diff VALUES('2022-11-24', '2020-12-10');
SELECT TIMEDIFF(C1, C2) res FROM date_date_diff;
RES -------------------------------- +714 00:00:00.000000
-- timestamp类型CREATE TABLE timestamp_timestamp_diff(C1 TIMESTAMP, C2 TIMESTAMP);
INSERT INTO timestamp_timestamp_diff VALUES('2022-11-24 11:53:10', '2020-12-10 09:12:49');
SELECT TIMEDIFF(C1, C2) res FROM timestamp_timestamp_diff;
RES -------------------------------- +714 02:40:21.000000
复制代码

代码

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

TIMEDIFF 函数用于计算 expr1 与 expr2 之间的时间差,返回一个 INTERVAL DAY TO SECOND 类型的数值。

expr1/expr2

  • expr1 和 expr2 为 YashanDB 认可的通用表达式,并且类型相同,即 TIMESTAMP、DATE 或 TIME 类型,或可以转换为 TIMESTAMP、DATE、TIME 类型的字符型。

  • 当 expr1 和 expr2 都不为字符型,且 expr1 和 expr2 类型不同时,则报错。

  • 当其中一个参数为 TIMESTAMP、DATE、TIME 类型,另一个参数为字符型时,则将字符串类型的参数转换成与另一个参数类型相同的时间日期类型。

  • 当 expr1 和 expr2 都为字符型时,则将 expr1 和 expr2 都转成 TIMESTAMP 类型。

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

示例

-- time类型CREATE TABLE time_time_diff(C1 TIME, C2 TIME);
INSERT INTO time_time_diff VALUES('11:37:10', '10:20:09');
SELECT TIMEDIFF(C1, C2) res FROM time_time_diff;
RES -------------------------------- +00 01:17:01.000000
-- date类型CREATE TABLE date_date_diff(C1 DATE, C2 DATE);
INSERT INTO date_date_diff VALUES('2022-11-24', '2020-12-10');
SELECT TIMEDIFF(C1, C2) res FROM date_date_diff;
RES -------------------------------- +714 00:00:00.000000
-- timestamp类型CREATE TABLE timestamp_timestamp_diff(C1 TIMESTAMP, C2 TIMESTAMP);
INSERT INTO timestamp_timestamp_diff VALUES('2022-11-24 11:53:10', '2020-12-10 09:12:49');
SELECT TIMEDIFF(C1, C2) res FROM timestamp_timestamp_diff;
RES -------------------------------- +714 02:40:21.000000
复制代码


用户头像

YashanDB

关注

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

还未添加个人简介

评论

发布
暂无评论
YashanDB TIMEDIFF函数_数据库 大数据_YashanDB_InfoQ写作社区