В этом учебном пособии вы узнаете, как использовать MariaDB функцию SUBDATE с синтаксисом и примерами.
Описание
MariaDB функция SUBDATE возвращает дату, после которой вычитается определенный интервал даты/времени.
Синтаксис
Синтаксис функции SUBDATE в MariaDB:
SUBDATE( date, INTERVAL value unit )
Или
SUBDATE( date, days )
Параметры или аргументы
- date
- Дата, до которой должен быть вычтен интервал.
- days
- Количество дней, которые нужно вычесть из date (второй синтаксис).
- value
- Значение интервала даты/времени, которое вы хотите вычесть. Вы можете указать положительные и отрицательные значения для этого параметра (первый синтаксис).
- unit
- Тип единицы измерения интервала, такой как DAY, MONTH, MINUTE, HOUR и т.д. Это может быть одно из следующих (первый синтаксис):
unit MICROSECOND SECOND MINUTE HOUR DAY WEEK MONTH QUARTER YEAR SECOND_MICROSECOND MINUTE_MICROSECOND MINUTE_SECOND HOUR_MICROSECOND HOUR_SECOND HOUR_MINUTE DAY_MICROSECOND DAY_SECOND DAY_MINUTE DAY_HOUR YEAR_MONTH
Примечание
- Если вы укажете интервал value, который слишком мал для указанного вами unit, функция SUBDATE будет считать, что самая левая часть значения value интервала не было предоставлено.
- Функция SUBDATE (только первый синтаксис) является синонимом для функции DATE_SUB.
- Использование функции SUBDATE с отрицательным значением value в качестве параметра эквивалентно использованию функции ADDDATE.
- См. также функции DATE_ADD, DATE_SUB, ADDDATE, ADDTIME и SUBTIME.
Применение
Функция SUBDATE может использоваться в следующих версиях MariaDB:
- MariaDB 10
Пример
Рассмотрим некоторые примеры функции SUBDATE, чтобы понять, как использовать функцию SUBDATE в MariaDB.
Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
SELECT SUBDATE('2019-05-17 08:44:21.000001', INTERVAL 4 MICROSECOND); --Результат: '2019-05-17 08:44:20.999997' SELECT SUBDATE('2019-05-17 08:44:21', INTERVAL 20 SECOND); --Результат: '2019-05-17 08:44:01' SELECT SUBDATE('2019-05-17 08:44:21', INTERVAL 25 MINUTE); --Результат: '2019-05-17 08:19:21' SELECT SUBDATE('2019-05-17 08:44:21', INTERVAL 2 HOUR); --Результат: '2019-05-17 06:44:21' SELECT SUBDATE('2019-05-17', INTERVAL 10 DAY); --Результат: '2019-05-07' SELECT SUBDATE('2019-05-17', 10); --Результат: '2019-05-07' SELECT SUBDATE('2019-05-17', INTERVAL 12 WEEK); --Результат: '2019-02-22' SELECT SUBDATE('2019-05-17', INTERVAL 3 MONTH); --Результат: '2019-02-17' SELECT SUBDATE('2019-05-17', INTERVAL 3 QUARTER); --Результат: '2018-08-17' SELECT SUBDATE('2019-05-17', INTERVAL 5 YEAR); --Результат: '2014-05-17' SELECT SUBDATE('2019-05-17 08:44:21.000001', INTERVAL '12.000001' SECOND_MICROSECOND); --Результат: '2019-05-17 08:44:09.000000' SELECT SUBDATE('2019-05-17 08:44:21.000001', INTERVAL '3:12.000001' MINUTE_MICROSECOND); --Результат: '2019-05-17 08:41:09.000000' SELECT SUBDATE('2019-05-17 08:44:21', INTERVAL '3:12' MINUTE_SECOND); --Результат: '2019-05-17 08:41:09' SELECT SUBDATE('2019-05-17 08:44:21.000001', INTERVAL '1:03:12.000001' HOUR_MICROSECOND); --Результат: '2019-05-17 07:41:09.000000' SELECT SUBDATE('2019-05-17 08:44:21', INTERVAL '1:03:12' HOUR_SECOND); --Результат: '2019-05-17 07:41:09' SELECT SUBDATE('2019-05-17 08:44:21', INTERVAL '1:03' HOUR_MINUTE); --Результат: '2019-05-17 07:41:21' SELECT SUBDATE('2019-05-17 08:44:21.000001', INTERVAL '7 1:03:12.000001' DAY_MICROSECOND); --Результат: '2019-05-10 07:41:09.000000' SELECT SUBDATE('2019-05-17 08:44:21', INTERVAL '7 1:03:12' DAY_SECOND); --Результат: '2019-05-10 07:41:09' SELECT SUBDATE('2019-05-17 08:44:21', INTERVAL '7 1:03' DAY_MINUTE); --Результат: '2019-05-10 07:41:21' SELECT SUBDATE('2019-05-17 08:44:21', INTERVAL '7 1' DAY_HOUR); --Результат: '2019-05-10 07:44:21' SELECT SUBDATE('2019-05-17', INTERVAL '5-3' YEAR_MONTH); --Результат: '2014-02-17' |