我有一个字符串格式的日期字段,我想把它变成时间戳,但是发生了:
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