Обсуждение: simple question about using an empty string building a partial index
can it be done?
create index my_idx on my_table(col1) where col1='';
ERROR: invalid input syntax for integer: ""
Seems simple enough but I don't know what the trick is.
create index my_idx on my_table(col1) where col1='';
ERROR: invalid input syntax for integer: ""
Seems simple enough but I don't know what the trick is.
On 05/03/2011 05:52 AM, Tom Hartnett wrote: > can it be done? > > create index my_idx on my_table(col1) where col1=''; > > ERROR: invalid input syntax for integer: "" > > Seems simple enough but I don't know what the trick is. > col1 is an integer, not a string. And you cannot check for empty string in an integer column. -- Guillaume http://www.postgresql.fr http://dalibo.com
Re: simple question about using an empty string building a partial index
От
"Ross J. Reedstrom"
Дата:
On Tue, May 03, 2011 at 08:48:19AM +0200, Guillaume Lelarge wrote: > On 05/03/2011 05:52 AM, Tom Hartnett wrote: > > can it be done? > > > > create index my_idx on my_table(col1) where col1=''; > > > > ERROR: invalid input syntax for integer: "" > > > > Seems simple enough but I don't know what the trick is. > > > > col1 is an integer, not a string. And you cannot check for empty string > in an integer column. So if you've got a lot of records that display that column as an emtpy string, it's actually probably filled with a NULL, so your index create command would be something like: create index my_idx on my_table(col1) where col1 is null; Ross -- Ross Reedstrom, Ph.D. reedstrm@rice.edu Systems Engineer & Admin, Research Scientist phone: 713-348-6166 Connexions http://cnx.org fax: 713-348-3665 Rice University MS-375, Houston, TX 77005 GPG Key fingerprint = F023 82C8 9B0E 2CC6 0D8E F888 D3AE 810E 88F0 BEDE