В этом учебном пособии вы узнаете, как использовать SQLite функцию datetime с синтаксисом и примерами.
Описание
SQLite функция datetime - очень мощная функция, которая может вычислять значение даты/времени и возвращать его в формате 'YYYY-MM-DD HH:MM:SS'.
Синтаксис
Синтаксис функции datetime в SQLite:
Параметры или аргументы
timestring
Значение даты. Это может быть одно из следующих:
timestring | Пояснение |
---|---|
now | now литерал, используемый для возврата текущей даты. |
YYYY-MM-DD | Значение даты в формате 'YYYY-MM-DD' |
YYYY-MM-DD HH:MM | Значение даты в формате 'YYYY-MM-DD HH:MM' |
YYYY-MM-DD HH:MM:SS | Значение даты в формате 'YYYY-MM-DD HH:MM:SS' |
YYYY-MM-DD HH:MM:SS.SSS | Значение даты в формате 'YYYY-MM-DD HH:MM:SS.SSS' |
HH:MM | Значение даты в формате 'HH:MM' |
HH:MM:SS | Значение даты в формате 'HH:MM:SS' |
HH:MM:SS.SSS | Значение даты в формате 'HH:MM:SS.SSS' |
YYYY-MM-DDTHH:MM | Значение даты в формате YYYY-MM-DDTHH:MM, где Т - буквенный символ, разделяющий части даты и времени |
YYYY-MM-DDTHH:MM:SS | Значение даты в формате 'YYYY-MM-DDTHH:MM:SS', где Т - буквенный символ, разделяющий части даты и времени |
YYYY-MM-DDTHH:MM:SS.SSS | Значение даты в формате 'YYYY-MM-DDTHH:MM:SS.SSS', где Т - это буквенный символ, разделяющий части даты и времени |
DDDDDDDDDD | Юлианский номер даты |
modifier1, modifier2, ... modifier_n
Необязательный. Это модификаторы, которые применяются к timestring. Каждый модификатор применяется по порядку и является накопительным. Они могут быть одним или несколькими из следующих:
modifier | Пояснение |
---|---|
[+-]NNN years | Количество лет, добавленных/вычтенных к дате |
[+-]NNN months | Количество месяцев, добавленных/вычтенных к дате |
[+-]NNN days | Количество дней, добавленных/вычтенных к дате |
[+-]NNN hours | Количество часов, добавленных/вычтенных к дате |
[+-]NNN minutes | Количество минут, добавленных/вычтенных к дате |
[+-]NNN seconds | Количество секунд, добавленных/вычтенных к дате |
[+-]NNN.NNNN seconds | Количество секунд (и дробных секунд), добавленных/вычтенных к дате |
start of year | Перенос даты обратно на начало года |
start of month | Перенос даты обратно на начало месяца |
start of day | Перенос даты обратно на начало дня |
weekday N | Перемещает дату вперед на следующую дату, где номер дня недели равен N (0 = воскресенье, 1 = понедельник, 2 = вторник, 3 = среда, 4 = четверг, 5 = пятница, 6 = суббота) |
unixepoch | Используется с временной шкалой DDDDDDDDDD для интерпретации даты как времени UNIX (то есть: количество секунд с 1970-01-01) |
localtime | Регулирует дату по местному времени, при условии, что временная строка была выражена в UTC |
utc | Приспосабливает дату к utc, предполагая, что временная строка была выражена в местном времени |
Примечание
Функция datetime возвращает результат, отображаемый в формате 'YYYY-MM-DD HH:MM:SS'.
Применение
Функция datetime может использоваться в следующих версиях SQLite:
- SQLite 3.8.6, SQLite 3.8.x, SQLite 3.7.x, SQLite 3.6.x
Пример
Рассмотрим некоторые примеры SQLite функций datetime и узнаем, как использовать функцию datetime в SQLite.
Пример текущей даты и времени
Вы можете получить текущую дату и время в SQLite, используя timestring now с функцией datetime, следующим образом:
1 2 |
sqlite> SELECT datetime('now'); Результат: '2019-01-25 07:33:52' (отформатированный как YYYY-MM-DD HH:MM:SS) |
Пример сложения / вычитания лет
Вы можете использовать функцию datetime, чтобы манипулировать значением даты/времени и добавлять или вычитать годы. Это делается с помощью модификатора 'NNN years' с функцией datetime:
1 2 3 4 5 6 7 8 |
sqlite> SELECT datetime('2019-01-25','+2 years'); Результат: '2016-10-23 00:00:00' sqlite> SELECT datetime('2019-01-25 09:40:10','-2 years'); Результат: '2017-01-25 09:40:10' sqlite> SELECT datetime('now','+5 years'); Результат: '2024-01-25 07:41:10' (при условии, что текущая дата 2019-01-25 07:41:10) |
В этих примерах мы использовали модификатор 'NNN years', чтобы добавить 2 года в первом примере, вычесть 2 года во втором примере и добавить 5 лет к текущей дате/времени в третьем примере.
Пример сложения/вычитания дней
Вы можете использовать функцию datetime, чтобы манипулировать значением даты/времени и добавлять или вычитать дни к нему. Это делается с помощью модификатора 'NNN days' с функцией datetime:
1 2 3 4 5 6 7 8 |
sqlite> SELECT datetime('2019-01-25','+7 days'); Результат: '2019-02-01 00:00:00' sqlite> SELECT datetime('2019-01-25 09:23:10','-7 days'); Результат: '2019-01-18 09:23:10' sqlite> SELECT datetime('now','+10 days'); Результат: '2019-02-04 07:41:10' (при условии, что текущая дата 2019-01-25 07:41:10) |
В этих примерах мы использовали модификатор 'NNN days', чтобы добавить 7 дней в первом примере, вычесть 7 дней во втором примере и добавить 10 дней к текущей дате/времени в третьем примере.
Пример сложения/вычитания часов
Вы можете использовать функцию datetime, чтобы манипулировать значением даты/времени и добавлять или вычитать часы к нему. Это делается с помощью модификатора 'NNN hours' с функцией datetime следующим образом:
1 2 3 4 5 6 7 8 |
sqlite> SELECT datetime('2019-01-25 11:23:02','+2 hours'); Результат: '2019-01-25 13:23:02' sqlite> SELECT datetime('2019-01-25 11:23:02','-2 hours'); Результат: '2019-01-25 09:23:02' sqlite> SELECT datetime('now','+5 hours'); Результат: '2019-01-25 14:23:10' (при условии, что текущая дата 2019-01-25 09:23:10) |
В этих примерах мы использовали модификатор 'NNN hours', чтобы добавить 2 часа в первом примере, вычесть 2 часа во втором примере и добавить 5 часов к текущей дате/времени в третьем примере.
Пример сложения/вычитания минут
Вы можете использовать функцию datetime, чтобы манипулировать значением даты/времени и добавлять или вычитать минуты к нему. Это делается с помощью модификатора 'NNN minutes' с функцией datetime следующим образом:
1 2 3 4 5 6 7 8 |
sqlite> SELECT datetime('2019-01-25 11:15:02','+15 minutes'); Результат: '2019-01-25 11:30:02' sqlite> SELECT datetime('2019-01-25 11:15:02','-15 minutes'); Результат: '2019-01-25 11:00:02' sqlite> SELECT datetime('now','+30 minutes'); Результат: '2019-01-25 09:53:10' (при условии, что текущая дата 2019-01-25 09:23:10) |
В этих примерах мы использовали модификатор 'NNN minutes', чтобы добавить 15 минут в первом примере, вычесть 15 минут во втором примере и добавить 30 минут к текущей дате/времени в третьем примере.