PostgreSQL在没有时区的时间戳类型的表中搜索
Posted
技术标签:
【中文标题】PostgreSQL在没有时区的时间戳类型的表中搜索【英文标题】:PostgreSQL search in table with type timestamp without timezone 【发布时间】:2021-06-12 15:28:51 【问题描述】:我需要使用字符串搜索 Postgres 表中的所有列。但这会导致类型为“timestamp without timezone”的列出错; 它显示错误:“错误:运算符不存在:没有时区的时间戳~~未知”
【问题讨论】:
【参考方案1】:您正在尝试使用LIKE
运算符(内部为~~
)搜索timestamp
。这是行不通的,因为日期时间数据类型不存在该运算符。
您必须将timestamp
转换为字符串数据类型:
WHERE CAST(timestamp_col AS text) LIKE '2021-%'
或者,更好的是,明确地将其格式化为字符串:
WHERE to_char(timestamp_col, 'YYYY-MM-DD HH24:MI:SS') LIKE '2021-%'
【讨论】:
以上是关于PostgreSQL在没有时区的时间戳类型的表中搜索的主要内容,如果未能解决你的问题,请参考以下文章
错误:COALESCE 类型时间戳没有时区和整数无法匹配(Postgresql)
PostgresQL + Spring JPA:org.postgresql.util.PSQLException:错误:无法将类型 bytea 转换为没有时区的时间戳
.NET6 和 DateTime 问题。无法将 Kind=UTC 的 DateTime 写入 PostgreSQL 类型“没有时区的时间戳”