device_id device_created_at
10e7983e-6a7b-443f-b0fe-d5e6485a502c 2022-08-10 20:55:16.695

我有一个表,其中我的日期/时间格式为:2022-08-10 20:55:16.695这是一个带时间戳的对象.我try 了以下查询,但没有返回任何行:

select * from device where to_char(device_created_at,'YYYY-MM-DD HH24:MI:SS.FFF') = '2022-08-10 20:55:16.695'

DEVICE_CREATED_AT的类型为"没有时区的时间戳"

如何在postgressql中根据时间戳进行查询?

推荐答案

try 比较时间戳值而不是字符串:

SELECT * 
FROM device 
WHERE device_created_at = CAST('2022-08-10 20:55:16.695' AS TIMESTAMP)

查看演示here.

Postgresql相关问答推荐

如何将存储的、生成的列添加到非常大的表中?

如何将 SELECT 查询的结果插入表中?

PostgreSQL pg_dump 创建 sql 脚本,但它不是 sql 脚本:有没有办法让 pg_dump 创建标准的 sql 脚本?

我在try 访问我的数据库表时在 postgresql 中收到 aclcheck_error 错误

GORM 不会创建 many2many 关联

在 jOOQ 中 Select 相同的命名列

在 to_tsquery 中转义特殊字符

获取 OperationalError: FATAL: sorry, too many clients already using psycopg2

plpgsql:使用 2 个 OUT 参数调用函数

PostgreSQL:将时间戳转换为时间 - 或仅从时间戳列中检索时间

在 PostgreSQL 数组中查找值的位置

try 为 ror 应用程序设置 postgres,出现错误 - fe_sendauth:no password supplied

大型查询后 psycopg2 泄漏内存

如何更改 PostgreSQL 中的日期样式?

PostgreSQL 中是否有类似 zip() 函数的东西,它结合了两个数组?

如何在Postgres中分组并返回总和行

避免通过 JPA 将null值插入数据库表

如何将 CSV 数据插入 PostgreSQL 数据库(远程数据库)

删除空行

PL/pgSQL 中的 BREAK 语句