【发布时间】:2013-08-01 04:59:33
【问题描述】:
我正在尝试在单个 where 条件中实现包含多个列的查询。但它会产生一个 sql 错误。
我原来的查询是这样的
SELECT id
FROM usertable
WHERE (user_addedon BETWEEN '2013-07-02 00:00:01' AND '2013-08-01 23:59:59')
OR (user_deletedon BETWEEN '2013-07-02 00:00:01' AND '2013-08-01 23:59:59')
OR (user_modified BETWEEN '2013-07-02 00:00:01' AND '2013-08-01 23:59:59')
我想要做的是避免BETWEEN 的重复。从另一个 SO 帖子 SQL multiple columns in IN clause 我创建了一个这样的查询查询
SELECT id
FROM usertable
WHERE (user_addedon,user_deletedon,user_modifiedon) BETWEEN '2013-07-02 00:00:01' AND '2013-08-01 23:59:59'
但它显示错误ERROR: input of anonymous composite types is not implemented。
是因为不能在PostgreSQL上实现还是查询有错误。
也想知道有没有其他方法可以实现这个?
我使用的是 PostgreSQL 8.4
【问题讨论】:
标签: sql postgresql postgresql-8.4