Re: Date Index
От | A. Kretschmer |
---|---|
Тема | Re: Date Index |
Дата | |
Msg-id | 20081031074854.GA1015@a-kretschmer.de обсуждение исходный текст |
Ответ на | Date Index ("Ryan Hansen" <ryan.hansen@brightbuilders.com>) |
Ответы |
Re: Date Index
Re: Date Index |
Список | pgsql-sql |
am Thu, dem 30.10.2008, um 14:49:16 -0600 mailte Ryan Hansen folgendes: > Hey all, > > > > I?m apparently too lazy to figure this out on my own so maybe one of you can > just make it easy on me. J > > > > I want to index a timestamp field but I only want the index to include the > yyyy-mm-dd portion of the date, not the time. I figure this would be where the > ?expression? portion of the CREATE INDEX syntax would come in, but I?m not sure > I understand what the syntax would be for this. > > > > Any suggestions? Sure. You can create an index based on a function, but only if the function is immutable: test=# create table foo (ts timestamptz); CREATE TABLE test=*# create index idx_foo on foo(extract(date from ts)); ERROR: functions in index expression must be marked IMMUTABLE To solve this problem specify the timezone: For the same table as above: test=*# create index idx_foo on foo(extract(date from ts at time zone 'cet')); CREATE INDEX If you have a timestamp whitout timezone it is much easier: test=# create table foo (ts timestamp); CREATE TABLE test=*# create index idx_foo on foo(extract(date from ts)); CREATE INDEX Hope thats help, Andreas -- Andreas Kretschmer Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header) GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net
В списке pgsql-sql по дате отправления: