PostgreSQL:在时间戳字段中选择类似的数据

前端之家收集整理的这篇文章主要介绍了PostgreSQL:在时间戳字段中选择类似的数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试从表中选择数据,在日期字段“date_checked”(时间戳)上使用“like”。但我有这个错误
sqlSTATE[42883]: Undefined function: 7 ERROR:  operator does not exist: timestamp without time zone

我的要求是:

SELECT my_table.id
FROM my_table
WHERE my_table.date_checker LIKE '2011-01-%'

我不想用:

SELECT my_table.id
FROM my_table
WHERE my_table.date_checker >= '2011-01-01 00:00:00' 
    AND  my_table.date_checker < '2011-02-01 00:00:00'
这一切都非常“不想使用”<和>有时间戳,但这些运算符可以转换为索引扫描,并且字符串匹配……好吧,它可以,但EWWWW。

好吧,发生错误是因为你需要在对它使用字符串操作之前显式地将时间戳转换为字符串,例如:

date_checker::text LIKE '2011-01-%'

我想你可以在(date_checker :: text)上创建一个索引,那个表达式将变成索引扫描,但是…… EWWWW。

猜你在找的Postgre SQL相关文章