本文分享自华为云社区《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类型。
| date | Timestamp/timestamptz | Time/timetz | text | |
|---|---|---|---|---|
| quarter | √ | √ | × | √ |
| hour | √(默认为0时) | √ | √ | √ |
| minute | √ (默认为0时) | √ | √ | √ |
| second | √ (默认为0时) | √ | √ | √ |
| microsecond | √ (默认为0时) | √ | √ | √ |
时间域函数入参支持类型表
参数解析支持时区设置,当输入参数含时区时,结果会转换为当前时区。以下用例中,数据库的默认时区为+08:00时区。
3. 结果展示
4.总结
时间域函数是为获取时间戳各部分值而增加的函数。支持对text类型入参的的解析,使text类型入参进行隐式转换,解析成为对应时间戳类型获取目标值,更贴近实际场景。