Re: constraint help

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: constraint help
Дата
Msg-id 20040414123038.O94708@megazone.bigpanda.com
обсуждение исходный текст
Ответ на constraint help  (Dennis Gearon <gearond@fireserve.net>)
Список pgsql-general
On Wed, 14 Apr 2004, Dennis Gearon wrote:

> I will have a table with, among other things, two time columns.
> As per my last post, I will be using a variable time for the day-to-day
> boundary, versus the traditional 12pm.
> What I want to be able to do upon insert of a record with a pair of
> times is to determine if the day to day boundary is between the times
> that are in the record, and reject the record if that is true.
> For example, if the system wide constant for the day-to-day boundary
> were 4AM local time, and I submitted a record like so:
>     INSERT INTO my_table(start_time, end_time) VALUES( '12:00'::TIME,
> '14:30'::TIME );
>
> that should succeed. However:
>     INSERT INTO my_table(start_time, end_time) VALUES( '12:00'::TIME,
> '5:00'::TIME );
>
> should fail.

Hmm, well as a constant and assuming the boundary is considered on the
"next" day and the same time twice as being 24 hours apart, I think it'd
be something like the bit that follows with replacing the constant as
appropriate (untested):

 (
  (
   start_time < end_time AND
   (
    (start_time < '4:00'::time AND end_time < '4:00'::time) OR
    (start_time >= '4:00'::time)
   )
  ) OR
  (
   start_time > end_time AND
   (
    (start_time >='4:00'::time AND end_time < '4:00'::time) OR
    (start_time < '4:00'::time)
   )
  )
 )

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

Предыдущее
От: "scott.marlowe"
Дата:
Сообщение: Re: constraint help
Следующее
От: "Marc G. Fournier"
Дата:
Сообщение: Re: [HACKERS] Remove MySQL Tools from Source?