Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Время и зоны / 5 сообщений из 5, страница 1 из 1
16.10.2006, 14:03
    #34057175
Alex.Ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время и зоны
Подскажите как в SQL или plsql проверить попадает ли время суток из q1 timestamptz в промежуток времени t1 timetz и t2 timetz. Зоны во всех трех параметрах могут быть любые.
Спасибо.
ps Свои попытки не описываю подробно. Не получается и все тут
...
Рейтинг: 0 / 0
16.10.2006, 14:46
    #34057333
Serik Akhmetov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время и зоны
а что, если просто сделать
Код: plaintext
1.
...
where t>t1 and t<t2
не работает ?
...
Рейтинг: 0 / 0
16.10.2006, 14:51
    #34057353
Serik Akhmetov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время и зоны
специально проверил, работает
Код: plaintext
1.
2.
3.
4.
5.
postgres=# select '2006-10-16 16:47:50+5'::timetz>'16:47:50+6'::timetz as res;
 res
-----
 t
( 1  запись)
...
Рейтинг: 0 / 0
16.10.2006, 15:37
    #34057521
Alex.Ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время и зоны
2 Serik Akhmetov
да но это :

select
'2006-10-16 23:20:50+5'::timetz > '00:00:00+6'::timetz
and
'2006-10-16 23:20:50+5'::timetz < '23:59:59+6'::timetz as res;

дает false. И вообще все более 23-х часов +5 дает false. А между тем в промежуток
'00:00:00+6'::timetz and '23:59:59+6'::timetz должно попадать ВСЁ. не зависимо от зоны.
...
Рейтинг: 0 / 0
17.10.2006, 03:35
    #34058817
фффф
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время и зоны
Alex.Ru2 Serik Akhmetov
да но это :

select
'2006-10-16 23:20:50+5'::timetz > '00:00:00+6'::timetz
and
'2006-10-16 23:20:50+5'::timetz < '23:59:59+6'::timetz as res;

дает false. И вообще все более 23-х часов +5 дает false. А между тем в промежуток
'00:00:00+6'::timetz and '23:59:59+6'::timetz должно попадать ВСЁ. не зависимо от зоны.
Всё правильно:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
postgres=> select
postgres-> '2006-10-16 00:00:00+6'::timestamptz at time zone 'UTC',
postgres-> '2006-10-16 23:20:50+5'::timestamptz at time zone 'UTC',
postgres-> '2006-10-16 23:59:59+6'::timestamptz at time zone 'UTC';
      timezone       |      timezone       |      timezone
---------------------+---------------------+---------------------
  2006 - 10 - 15   18 : 00 : 00  |  2006 - 10 - 16   18 : 20 : 50  |  2006 - 10 - 16   17 : 59 : 59 
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Время и зоны / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]