时间戳字符串(红移)



我有一个字符串格式的日期字段,我想把它变成时间戳,但是发生了:

String: "24/12/2021 11:12:25;

Using: to_timestamp (date,'DD/MM/YYYY HH24:MI:SS')作为date

结果:"2021-12-24 11:12:25.000 -0300">

所以我认为有些事情没有在你的描述。我可以运行下面的代码并得到一个合理的答案。

create table foo as select '15/04/2022 08:04:37'::varchar(20) as dt;
select to_timestamp(dt,'DD/MM/YYYY HH24:MI:SS') from foo;

产生-

2022-04-15 08:04:37 + 00

你能像这样用简单的代码显示你看到的错误吗?如果没有,您能否提供更多关于您的确切查询、表定义等的信息?

根据文档TO_TIMESTAMP函数将字符串转换为时间戳。该类型是TIMESTAMP WITH TIME ZONE的别名。您所要做的就是使用转换为TIMESTAMP类型来删除时区部分:

select cast(to_timestamp ('24/12/2021 11:12:25','DD/MM/YYYY HH24:MI:SS') as timestamp)

或简写形式:

select to_timestamp ('24/12/2021 11:12:25','DD/MM/YYYY HH24:MI:SS')::timestamp

都将返回2021-12-24 11:12:25

最新更新