使用EXTRACT时获得一个单位的PostgreSQL错误

问题描述 投票:0回答:1

我一直在试图从指定的时间戳提取一个月:

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);

我怎样才能从我的第一次尝试返回预期的结果得到的单位?

database postgresql extract
1个回答
1
投票

将字符串转换为时间戳:

SELECT EXTRACT(MONTH FROM TIMESTAMP '2019-01-02 00:00:00+00');

the documentation片段:

EXTRACT(field FROM source)

(...)source必须是类型时间戳,时间或间隔的值表达。 (类型日期的表达式转换为timestamp,因此可以使用。)

© www.soinside.com 2019 - 2024. All rights reserved.