暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8c 函数和操作符 - 时间和日期处理函数和操作符 之 TIMESTAMPDIFF

菁菁 2022-10-25
279

  • TIMESTAMPDIFF(unit , timestamp_expr1, timestamp_expr2)

timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_expr1)的差值,并以unit形式返回结果。timestamp_expr1,timestamp_expr2必须是一个timestamp、timestamptz、date类型的值表达式。unit表示的是两个日期差的单位。

说明:

仅在兼容MY类型时(即创建数据库时指定dbcompatibility 'B')有效,其他类型不支持该函数。

  • year :年份

gbase=# SELECT TIMESTAMPDIFF(YEAR, '2018-01-01', '2020-01-01');

timestamp_diff

----------------

2

(1 row)

  • quarter :季度

gbase=# SELECT TIMESTAMPDIFF(QUARTER, '2018-01-01', '2020-01-01');

timestamp_diff

----------------

8

(1 row)

  • month:月份

gbase=# SELECT TIMESTAMPDIFF(MONTH, '2018-01-01', '2020-01-01');

timestamp_diff

----------------

24

(1 row)

  • week:星期

gbase=# SELECT TIMESTAMPDIFF(WEEK, '2018-01-01', '2020-01-01');

timestamp_diff

----------------

104

(1 row)

  • day :天

gbase=# SELECT TIMESTAMPDIFF(DAY, '2018-01-01', '2020-01-01');

timestamp_diff

----------------

730

(1 row)

  • hour :小时

gbase=# SELECT TIMESTAMPDIFF(HOUR, '2020-01-01 10:10:10', '2020-01-01 11:11:11');

timestamp_diff

----------------

1

(1 row)

  • minute :分钟

gbase=# SELECT TIMESTAMPDIFF(MINUTE, '2020-01-01 10:10:10', '2020-01-01 11:11:11');

timestamp_diff

----------------

61

(1 row)

  • second :秒

gbase=# SELECT TIMESTAMPDIFF(SECOND, '2020-01-01 10:10:10', '2020-01-01 11:11:11');

timestamp_diff

----------------

3661

(1 row)

  • microseconds :秒域(百万级别),可包含小数。

gbase=# SELECT TIMESTAMPDIFF(MICROSECOND, '2020-01-01 10:10:10.000000', '2020-01-01 10:10:10.111111');

timestamp_diff

----------------

111111

(1 row)

  • timestamp_expr含有时区

gbase=# SELECT TIMESTAMPDIFF(HOUR,'2020-05-01 10:10:10-01','2020-05-01 10:10:10-03');

timestamp_diff

----------------

2

(1 row)

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论