我一直在试图从指定的时间戳提取一个月:
SELECT EXTRACT(MONTH FROM '2019-01-02 00:00:00+00');
但我得到以下错误:
错误:功能pg_catalog.date_part(未知的,未知的)不是唯一的行1:SELECT EXTRACT(一个月 '2019年1月2日00:00:00 + 00'); ^提示:无法选择最佳候选功能。您可能需要添加显式类型转换。 SQL状态:42725字:8
然而,当我使用同样的命令指定CURRENT_TIMESTAMP变量,预期的结果是返回。
SELECT EXTRACT(MONTH FROM CURRENT_TIMESTAMP);
我怎样才能从我的第一次尝试返回预期的结果得到的单位?
将字符串转换为时间戳:
SELECT EXTRACT(MONTH FROM TIMESTAMP '2019-01-02 00:00:00+00');
EXTRACT(field FROM source)
(...)
source
必须是类型时间戳,时间或间隔的值表达。 (类型日期的表达式转换为timestamp,因此可以使用。)