Встроенные константы даты и времени

Константы даты

Вариант 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 скобки не нужны.

Оцените статью
Добавить комментарий