|
|
|
| Здравствуйте. Я новичок в MySQL. Помогите разобратся как работает функция INTERVAL() ? Заранее благодарю. | |
|
|
|
|
|
|
|
для: jeans1986
(05.10.2006 в 20:17)
| | Из учебника:
Например, чтобы найти дату 14 спустя 13-ого июля 2003, можно использовать :
mysql> SELECT DATE_ADD('2003-07-13', INTERVAL 14 DAY);
+-----------------------------------------+
| DATE_ADD('2003-07-13', INTERVAL 14 DAY) |
+-----------------------------------------+
| 2003-07-27 |
+-----------------------------------------+
Вы можете также использовать отрицательное выражение.
Найти дату 22 часа и 14 минут, до 13 июля 2003, 1 час, 1 минуту и 1 секунду, можно использовать:
mysql> SELECT DATE_ADD('2003-07-13 01:01:01', INTERVAL -'22:14' HOUR_MINUTE);
+----------------------------------------------------------------+
| DATE_ADD('2003-07-13 01:01:01', INTERVAL -'22:14' HOUR_MINUTE) |
+----------------------------------------------------------------+
| 2003-07-13 00:39:01 |
+----------------------------------------------------------------+ | |
|
|
|
|
|
|
|
для: codexomega
(06.10.2006 в 06:32)
| | Я вот в учебнике прочитал такой пример.
mysql> SELECT INTERVAL(10,1,10,100,1000);
|
Результат этого запроса равен 2. Вот я не понял как получается 2?
Заранее благодарю. | |
|
|
|
|
|
|
|
для: jeans1986
(06.10.2006 в 10:07)
| | Функция получает в качестве параметров значение поиска (в данном примере первая десятка) и ряд чисел, в котором искать её место (в данном случае 1,10,100,1000)
числа должны быть целыми, а ряд должен быть возрастающей последовательностью.
Функция возвращает позицию искомого значения в этом ряду, т.е. сколько чисел ряда, не превышающих искомомое, нужно пропустить. В данном случае 2 числа в ряду (1,10) не превышают искомое 10. Поэтому в результате функция вернет 2.
SELECT INTERVAL(9,1,10,100,1000); вернет 1
SELECT INTERVAL(500,1,10,100,1000); вернет 3 | |
|
|
|