Postgresql 查询转换时间戳,不带时区,在经过的时间中添加一秒

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

我们有一个接受没有时区的时间戳的程序。

当我经过时说 “2023 年 12 月 3 日星期日 11:02:19 GMT”

通过设置日期(java.util.date)从java到Postgresql过程

该过程有一个没有时区的演员时间戳,例如 IN run_date 时间戳,不含时区。

预期日期字段值应为 2023-12-03 11:03:19 但 2023-12-03 11:03:20 存储在数据库中

为什么要添加第二个?

我们有一个使用精确日期时间获取行的逻辑。因此,由于秒数不匹配,不会返回任何行

java postgresql postgresql-9.3
1个回答
0
投票

您存储的 Java 时间戳可能有小数秒,如

2023-04-01 12:30:00.8888
。那么以下事情之一可能会发生:

  1. 数据库列被定义为数据类型

    timestamp(0)
    ,因此 PostgreSQL 将值向上舍入

  2. 数据库列是正常的

    timestamp(6)
    ,时间戳按原样存储,但您用来可视化数据库内容的程序四舍五入到秒

使用不会撒谎的数据库客户端,例如

psql
,并检查存储的值和表定义。

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