提问者:小点点

postgre sql在timestamp类型的表中进行搜索(不带时区)


我需要使用一个字符串搜索postgre sql表中的所有列,但它会导致类型为“timestamp with timezone”的列出错;它显示错误:“错误:运算符不存在:没有时区的时间戳~~未知”


共1个答案

匿名用户

您正在尝试使用like运算符(内部~~)搜索时间戳。这无法工作,因为对于datetime数据类型,该运算符不存在。

您必须将时间戳强制转换为字符串数据类型:

WHERE CAST(timestamp_col AS text) LIKE '2021-%'

或者更好的是,将其显式格式化为字符串:

WHERE to_char(timestamp_col, 'YYYY-MM-DD HH24:MI:SS') LIKE '2021-%'