powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Время и зоны
5 сообщений из 5, страница 1 из 1
Время и зоны
    #34057175
Alex.Ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как в SQL или plsql проверить попадает ли время суток из q1 timestamptz в промежуток времени t1 timetz и t2 timetz. Зоны во всех трех параметрах могут быть любые.
Спасибо.
ps Свои попытки не описываю подробно. Не получается и все тут
...
Рейтинг: 0 / 0
Время и зоны
    #34057333
Serik Akhmetov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что, если просто сделать
Код: plaintext
1.
...
where t>t1 and t<t2
не работает ?
...
Рейтинг: 0 / 0
Время и зоны
    #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
Время и зоны
    #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
Время и зоны
    #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
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Время и зоны
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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