加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 16:35:26 所属栏目:百科 来源:网络整理
导读:我正在尝试从表中选择数据,在日期字段“date_checked”(时间戳)上使用“like”。但我有这个错误: SQLSTATE[42883]: Undefined function: 7 ERROR: operator does not exist: timestamp without time zone 我的要求是: SELECT my_table.idFROM my_tableWHE
我正在尝试从表中选择数据,在日期字段“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。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读