在postgresql中按boxcolumn命令查询

时间:2013-02-04 17:24:40

标签: postgresql postgresql-9.1

我无法从pgsql 9.1

中包含BOX类型列的表中进行选择
create table test (t box);
CREATE TABLE
select * from test order by t;
ERROR:  could not identify an ordering operator for type box
LINE 1: select * from test order by t;
                                     ^
TIP:  Use an explicit ordering operator or modify the query.

我发现有一类操作符(box_ops)应该处理排序和相等,甚至尝试为列创建一个显式索引。

create index testx on test using gist (t box_ops);
CREATE INDEX

但问题仍然存在。我错过了什么? 谢谢!

1 个答案:

答案 0 :(得分:1)

您必须明确指定运算符。例如:

SELECT * FROM test ORDER BY t USING &<

您必须决定实际需要的顺序,并选择相应的比较运算符。

box_ops中定义的运算符位于http://www.leadum.com/downloads/dbscribe/samples/postgresql/web_modern/opclass/main/1325676015.html

另请参阅:http://www.postgresql.org/docs/current/interactive/functions-geometry.html