Re: lower() for varchar data by creating an index
От | Mitch Vincent |
---|---|
Тема | Re: lower() for varchar data by creating an index |
Дата | |
Msg-id | 00d901bfc00c$a3a36c00$4100000a@venux.net обсуждение исходный текст |
Ответ на | lower() for varchar data by creating an index (Alex Guryanow <gav@nlr.ru>) |
Ответы |
Re[2]: lower() for varchar data by creating an index
|
Список | pgsql-sql |
CREATE function lower(varchar) returns text as 'lower' language 'internal' with (iscachable); It's a bit slower than if it was actually in the backend but it's a very tiny difference. I spoke to Tom Lane about this, it's on the TODO list I believe for 7.1. In the meantime the above will work great.. - Mitch "The only real failure is quitting." ----- Original Message ----- From: Alex Guryanow <gav@nlr.ru> To: <pgsql-sql@postgresql.org> Sent: Wednesday, May 17, 2000 3:51 AM Subject: [SQL] lower() for varchar data by creating an index > Hi, > > I have a table called t1 with field f1 of type varchar(40): > > CREATE TABLE t1 (f1 varchar(40)); > > To make a case insensitive search I build the query like > > SELECT f1 FROM t1 WHERE lower( f1 ) LIKE 'alex%'; > > This works fine. But when I try to make an index to speed up the query using the command > > CREATE INDEX t1_f1_idx ON t1 (lower(f1)); > > I receive the following error: > > ERROR: DefineIndex: function 'lower(varchar)' does not exist > > Why by executing the query the function 'lower(varchar)' exists and by creating the index don't? > > I use Postgres 7.0. > > Best regards, > Alex > > >
В списке pgsql-sql по дате отправления: