简述数仓的时间域函数

319 阅读1分钟

本文分享自华为云社区《GaussDB(DWS) 时间域函数》,作者: 积少成多。

1. 什么是时间域函数,有哪些?

时间域函数是指数据库内获时间戳每部分值的函数。现有的时间域函数包括:

  •  1) quarter函数:获取季度
  •  2) hour函数:获取小时数
  •  3) minute函数:获取分钟数
  •  4) second函数:获取秒数
  •  5) microsecond函数:获取微秒数。

2. 时间域函数参数的解析

时间域函数的入参类型有四种,包括:

  •   1) date类型
  •   2) timestamp/timestamptz类型
  •   3) time/timetz类型
  •   4) text类型。

text类型的输入会根据输入格式转换为对应的date、timestamp/timestamptz或time类型。

dateTimestamp/timestamptzTime/timetztext
quarter×
hour√(默认为0时)
minute√ (默认为0时)
second√ (默认为0时)
microsecond√ (默认为0时)

                 时间域函数入参支持类型表

参数解析支持时区设置,当输入参数含时区时,结果会转换为当前时区。以下用例中,数据库的默认时区为+08:00时区。

image.png

3. 结果展示

image.png

4.总结

时间域函数是为获取时间戳各部分值而增加的函数。支持对text类型入参的的解析,使text类型入参进行隐式转换,解析成为对应时间戳类型获取目标值,更贴近实际场景。

点击关注,第一时间了解华为云新鲜技术~