Константы даты
Вариант 1. Только дата (ГГГГ-ММ-ДД)
Используйте стандартный модификатор CURRENT_DATE
CREATE TABLE table ( id INTEGER PRIMARY KEY, field_date DATE DEFAULT CURRENT_DATE );
Вариант 2. Локальное время вместо UTC
Если вам нужна дата вашего часового пояса, оберните вызов функции в круглые
CREATE TABLE table (
id INTEGER PRIMARY KEY,
field_date DATE DEFAULT (date('now', 'localtime'))
);
Константы даты и времени
Если вам кроме даты нужно фиксировать и точное время:
- CURRENT_TIMESTAMP — сохраняет дату и время (ГГГГ-ММ-ДД ЧЧ:ММ:СС) в формате UTC.
- (datetime(‘now’, ‘localtime’)) — сохраняет дату и время по местному часовому поясу.
- CURRENT_TIME — возвращает текущее время в формате UTC (ЧЧ:ММ:СС).
- log_time TIME DEFAULT CURRENT_TIME
field_date DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL
-- или
field_date DATETIME DEFAULT (datetime('now', 'localtime')) NOT NULL
-- текущее время
log_time TIME DEFAULT CURRENT_TIME NOT NULL
Примечание
Скобки: При использовании функций вроде date(‘now’) круглые скобки вокруг всего выражения
DEFAULT (…) обязательны, иначе SQLite выдаст синтаксическую ошибку. Для CURRENT_DATE скобки не нужны.
