日期/时间函数
日期和时间函数进行日期和时间数据类型的转换、提取或处理操作,可以返回日期和时间信息。
使用
TIME
或 TIMESTAMP
输入函数有两种变体:
-
TIME WITH TIME ZONE
或者TIMESTAMP WITH TIME ZONE
-
TIME WITHOUT TIME ZONE
或者TIMESTAMP WITHOUT TIME ZONE
简洁起见,这些变体不单独显示。
- 和 * 运算符以交换对的形式出现,例如,
DATE + INTEGER
和INTEGER + DATE
。每个交换对仅显示其中一个运算符。
夏令时注意事项
将 INTERVAL
值添加到(或从中扣除 INTERVAL
值)TIMESTAMP
WITH TIME ZONE
值时,白天组件按指定天数增加(或递减)TIMESTAMP WITH TIME ZONE
的日期。在多次夏令时更改(会话时区设置为识别 DST 的时区)中,这意味着 INTERVAL '1 day'
不一定等于 INTERVAL '24 hours'
。
例如,会话时区设置为 CST7CDT
时:
TIMESTAMP WITH TIME ZONE '2014-04-02 12:00-07' + INTERVAL '1 day'
会生成
TIMESTAMP WITH TIME ZONE '2014-04-03 12:00-06'
将 INTERVAL '24 hours'
添加到相同的开头字母 TIMESTAMP WITH TIME ZONE
会生成
TIMESTAMP WITH TIME ZONE '2014-04-03 13:00-06',
出现此结果是因为在时区 2014-04-03 02:00
中 CST7CDT
的夏令时发生了变化。
事务中的日期/时间函数
某些日期/时间函数(例如
CURRENT_TIMESTAMP
和
NOW
)会返回当前事务的开始时间;在该事务的时间段内,这些函数会返回相同的值。其他日期/时间函数(例如
TIMEOFDAY
)总是返回当前时间。
另请参阅
用于日期/时间格式化的模板模式本节内容
- ADD_MONTHS
- AGE_IN_MONTHS
- AGE_IN_YEARS
- CLOCK_TIMESTAMP
- CURRENT_DATE
- CURRENT_TIME
- CURRENT_TIMESTAMP
- DATE_PART
- DATE
- DATE_TRUNC
- DATEDIFF
- DAY
- DAYOFMONTH
- DAYOFWEEK
- DAYOFWEEK_ISO
- DAYOFYEAR
- DAYS
- EXTRACT
- GETDATE
- GETUTCDATE
- HOUR
- ISFINITE
- JULIAN_DAY
- LAST_DAY
- LOCALTIME
- LOCALTIMESTAMP
- MICROSECOND
- MIDNIGHT_SECONDS
- MINUTE
- MONTH
- MONTHS_BETWEEN
- NEW_TIME
- NEXT_DAY
- NOW [日期/时间]
- OVERLAPS
- QUARTER
- ROUND
- SECOND
- STATEMENT_TIMESTAMP
- SYSDATE
- TIME_SLICE
- TIMEOFDAY
- TIMESTAMPADD
- TIMESTAMPDIFF
- TIMESTAMP_ROUND
- TIMESTAMP_TRUNC
- TRANSACTION_TIMESTAMP
- TRUNC
- WEEK
- WEEK_ISO
- YEAR
- YEAR_ISO