SQL функции для работы со значениями даты и времени в базах данных SQLite
Помощь проекту:
WMR: R288272666982
WMZ: Z293550531456
Яндекс.Деньги: 410011531129223
Рубрика SQLite на сайте: http://zametkinapolyah.ru/zametki-o-mysql/sqlite/
Паблик блога в ВК: https://vk.com/zametkinapolyah
Тематическая группа в ВК: https://vk.com/zametki_bd
— ¬ременной литерал или строка времени
YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
DDDDDDDDDD
— Ўаблоны даты и времени
%d день мес¤ца: 01Е31
%f доли секунд: SS.SSS
%H час: 00Е23
%j день года: 001Е366
%J ёлианска¤ дата
%m мес¤ц: 01Е12
%M минута: 00Е59
%s количество секунд с 1 ¤нвар¤ 1970 года
%S секунда: 00Е59
%w день недели: 0Е6 (0 Ч воскресенье)
%W недел¤ года: 00Е53
%Y год: 0000Е9999
%% %
— ћодификаторы дл¤ работы с датой и временем
NNN days
NNN hours
NNN minutes
NNN.NNNN seconds
NNN months
NNN years
start of month
start of year
start of day
weekday N
unixepoch
localtime
utc
— ‘ункции дл¤ работы с датой и временем
date(Е) strftime(С%Y-%m-%dТ, Е)
time(Е) strftime(С%H:%M:%SТ, Е)
datetime(Е) strftime(С%Y-%m-%d %H:%M:%SТ, Е)
julianday(Е) strftime(С%JТ, Е)
date(timestring, modifier, modifier, …)
time(timestring, modifier, modifier, …)
datetime(timestring, modifier, modifier, …)
julianday(timestring, modifier, modifier, …)
strftime(format, timestring, modifier, modifier, …)
— ѕримеры
–¬ычисл¤ет текущую дату
SELECT date(‘now’);
SELECT time(‘now’);
SELECT datetime(‘now’);
SELECT julianday(‘now’);
— ¬ычисл¤ет последний день текущего мес¤ца
date(timestring, modifier, modifier, …)
SELECT date(‘now’,’start of month’,’+1 month’,’-1 day’);
— ¬ычисл¤ет дату и врем¤ дл¤ 1092941466 секунд с 1970 года
SELECT datetime(1092941466, ‘unixepoch’);
— ¬ычисл¤ет дату и врем¤ дл¤ 1092941466 секунд с 1970 года и
— приводит к локальному времени.
SELECT datetime(1092941466, ‘unixepoch’, ‘localtime’);
— ¬ычисл¤ет текущее UNIX-врем¤
SELECT strftime(‘%s’,’now’);
— ¬ычисл¤ет количество дней прошедших с подписани¤ ƒекларации
— независимости —Ўј
SELECT julianday(‘now’) – julianday(‘1776-07-04’);
— ¬ычисл¤ет количество секунд с некоторого момент в 2004 году
SELECT strftime(‘%s’,’now’) – strftime(‘%s’,’2004-01-01 02:34:56′);
— ¬ычисл¤ет дату первого вторника окт¤бр¤ текущего года
SELECT date(‘now’,’start of year’,’+9 months’,’weekday 2′);
— ¬ычисл¤ет врем¤ в секундах с начала эпохи UNIX
SELECT (julianday(‘now’) – 2440587.5)*86400.0;
— ¬озможные ошибки
— SQLite использует функцию localtime_r() из стандартной библиотеки —и. Ёта функци¤ работает правильно только дл¤ дат между 1970 и 2037 годами.
— ‘ункции работают только с датами между 0000-01-01 00:00:00 и 9999-12-31 23:59:59 (ёлианские даты с 1721059.5 по 5373484.5). ƒл¤ дат за пределами этого диапазона, результат функций неопределен.
— —тоит учитывать особенности перехода на летнее врем¤ как в конкретных странах, так и в операционных системах.
— ¬се внутренние вычислени¤ происход¤т в соответствии с √ригорианским календарем. роме того, предполагаетс¤, что каждый день продолжительностью ровно 86 400 секунд.
http://sqlite.org/lang_datefunc.html
Последние сообщения
127 полезных и бесплатных онлайн академий
24.04.2019