我需要使用一个字符串搜索postgre sql表中的所有列,但它会导致类型为“timestamp with timezone”的列出错;它显示错误:“错误:运算符不存在:没有时区的时间戳~~未知”
您正在尝试使用like
运算符(内部~~
)搜索时间戳
。这无法工作,因为对于datetime数据类型,该运算符不存在。
您必须将时间戳
强制转换为字符串数据类型:
WHERE CAST(timestamp_col AS text) LIKE '2021-%'
或者更好的是,将其显式格式化为字符串:
WHERE to_char(timestamp_col, 'YYYY-MM-DD HH24:MI:SS') LIKE '2021-%'