Инструменты пользователя

Инструменты сайта


interval

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Последняя версия Следующая версия справа и слева
interval [2018/03/20 14:24]
seer [between/interval]
interval [2018/03/20 14:38]
seer [Описание]
Строка 10: Строка 10:
  
 ===== Формат ===== ===== Формат =====
-INTERVAL - это слово есть в MySQL, +<code sql> 
-в Firebird такого слова нет, зато есть [[dateadd]] +<​between_predicate>​ ::= 
 +     <​psql_expr>​ BETWEEN <​psql_expr>​ AND <​psql_expr>​ 
 +   | <​psql_expr>​ NOT BETWEEN <​psql_expr>​ AND <​psql_expr>​ 
 +</​code>​
 ===== Описание ===== ===== Описание =====
-я случайно создал эту страничку, не посмотрел ​что слово INTERVAL взято из MySQL, поэтому ​её можно удалить.+Используйте BETWEEN, чтобы проверить,​ находится ли значение в определенном диапазоневключая ​пределы диапазона..
  
 ===== Пример ===== ===== Пример =====
-Эти примеры работают только для MySQL +В диапазоне
-Примеры действительны при условии,​ что поле `dt` типа DATETIME или TIMESTAMP:​ +
- +
-Сегодняшний день, но только последние 6 часов от текущего времени:​+
 <code sql> <code sql>
-SELECT * FROM `tbl` WHERE `dt`>​=CURRENT_DATE AND `dt`>​=NOW()-INTERVAL 6 HOUR ORDER BY `dt`+SELECT * FROM `tbl` WHERE t.id BETWEEEN 1 and 100
 </​code>​ </​code>​
  
-Сегодняшний день + 6 часов до начала текущих суток:+аналог 
 <code sql> <code sql>
-SELECT ​FROM `tbl` WHERE `dt`>=CURRENT_DATE-INTERVAL 6 HOUR ORDER BY `dt`+select ​from 'tbl' t where t.id >= 1 and t.id ⇐ 100
 </​code>​ </​code>​
  
-Последние 6 часов от текущего времени:+Вне диапазона
 <code sql> <code sql>
-SELECT * FROM `tbl` WHERE `dt`>​=NOW()-INTERVAL 6 HOUR ORDER BY `dt`+SELECT * FROM `tbl` WHERE t.id NOT BETWEEEN 1 and 100
 </​code>​ </​code>​
  
-Последние 6 часов и до текущего времени:​+аналог 
 <code sql> <code sql>
-WHERE `date` BETWEEN NOW()-INTERVAL 6 HOUR AND NOW()+select * from '​tbl'​ t where NOT (t.id >= 1 and t.id ⇐ 100)
 </​code>​ </​code>​
- 
-Последние 6 часов и до конца текущих суток: 
-<code sql> 
-WHERE `date` BETWEEN NOW()-INTERVAL 6 HOUR AND CURRENT_DATE+INTERVAL 1 DAY 
-</​code>​ 
- 
 ===== См. также ===== ===== См. также =====
 [[dateadd]] [[dateadd]]
  
 ===== Источник ===== ===== Источник =====
-http://sqlinfo.ru/forum/viewtopic.php?id=1203+http://www.janus-software.com/fbmanual/manual.php?book=psql&​topic=80
interval.txt · Последние изменения: 2019/01/24 09:46 — 95.165.164.201