2010-11-08 47 views

回答

18

PostgreSQL区分大小写。做你想做的事情创建一个函数索引。所以说

CREATE UNIQUE INDEX test_upper_idx ON mytable (UPPER(myfield)); 

这样,当你在查询中使用UPPER(myfield)索引将被使用。

See this link

+3

'LOWER(myfield)'也可以。 – user454322 2013-02-05 03:44:06

+1

'lower()'对于Unicode数据应该更好。 – szeryf 2014-04-17 07:37:39

+1

@szeryf以什么方式更好?有什么证明它更好? – Kuberchaun 2014-04-17 11:57:45

0

你应该可以创建一个基于函数的索引。 (使用该字段的UPPER

2
CREATE UNIQUE INDEX ux_table_field ON mytable(UPPER(field))