Re: Time problem again?

Поиск
Список
Период
Сортировка
От Richard Huxton
Тема Re: Time problem again?
Дата
Msg-id 200309291221.33829.dev@archonet.com
обсуждение исходный текст
Ответ на Time problem again?  (Bjørn T Johansen <btj@havleik.no>)
Ответы Re: Time problem again?  (Bjørn T Johansen <btj@havleik.no>)
Список pgsql-general
On Monday 29 September 2003 10:11, Bjørn T Johansen wrote:
> I need to sort some data based on a Time field and the times can cross
> both midnight and noon. As far as I can tell, there is no way to solve
> this without also supplying a date or am I missing something?

You don't say when your "period" starts. This puts me in the same position as
PostgreSQL - I can't tell you whether 03:00 represents an early or a late
time in your period.

I presume you have a situation where a period starts at e.g. 06:00:00 and
continues until 05:59:59 the following day.

You could do something like:

SELECT
  my_time,
  CASE
    WHEN my_time < '06:00:00' THEN my_time+'18 hours'::interval
    ELSE my_time - '6 hours'::interval
  END
  AS sort_time
FROM
  time_table
ORDER BY
  sort_time

That would translate:
  my_time       sort_time
  06:00:00  =>  00:00:00
  07:00:00  =>  01:00:00
  00:00:00  =>  18:00:00
  05:59:59  =>  23:59:59

You could wrap that up in an SQL function if you wanted, or even add an index
on the function (but check the manual for details how).

--
  Richard Huxton
  Archonet Ltd

В списке pgsql-general по дате отправления:

Предыдущее
От: Shridhar Daithankar
Дата:
Сообщение: Re: finding memory leaks in extensions
Следующее
От: Bjørn T Johansen
Дата:
Сообщение: Re: Time problem again?