【发布时间】:2018-01-17 14:05:24
【问题描述】:
在我们的 PostgreSQL 中,我们创建了_at 列,它插入了很多数据作为 时间戳。
现在我们正在使用
explain analyze select * from users where created_at > '2018-01-01 11:02:03'::timestamp
时间太长了
所以trim() 这些值是可能的
like created_at > trim('2018-01-01 11:02:03')
请帮帮我
或update users set created_at = trim(created_at) 不工作
当我修剪所有 created_at function pg_catalog.btrim(timestamp without time zone) does not exist 时,如何将 created_at 修剪为时间戳而不是它给出错误的日期
谢谢
我为什么要修剪 created_at 时间戳列
作为我修剪的一些列,它发现索引扫描并使选择更快。
但是在 created_at 中我无法让它更快,尽管在 trim() 之后它会进行索引扫描而不是顺序扫描
【问题讨论】:
-
如果您不想要时间,请使用
date数据类型。否则,请更详细地解释您的问题。 -
@LaurenzAlbe 如何将 created_at 修剪为时间戳而不是日期,当我修剪所有 created_at `函数 pg_catalog.btrim(timestamp without time zone) 不存在时它给出错误`
-
您可能正在寻找
date_trunc或想从时间戳转换日期?.. -
date_trunc 将时间戳更改为另一个如果我错了请纠正我@Vao 请发帖
-
是的——确实如此。我试图猜测你想要实现什么。请发布清晰的数据样本和预期结果。