Полное руководство по работе с временными метками в MySQL

Отметки времени необходимы при управлении данными о дате и времени в базах данных. В MySQL тип данных timestamp обеспечивает удобный способ хранения временной информации и управления ею. В этой статье мы рассмотрим различные методы работы с метками времени в MySQL, а также приведем примеры кода.

  1. Сохранение текущей отметки времени:
    Чтобы сохранить текущую метку времени в таблице MySQL, вы можете использовать атрибут DEFAULT CURRENT_TIMESTAMP при определении столбца. Вот пример:
CREATE TABLE my_table (
    id INT PRIMARY KEY,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
  1. Вставка определенной отметки времени:
    Если вы хотите вставить определенное значение отметки времени в таблицу, вы можете использовать функцию TIMESTAMP(). Функция принимает либо строку в формате «ГГГГ-ММ-ДД ЧЧ:ММ:СС», либо числовое значение временной метки. Вот пример:
INSERT INTO my_table (id, created_at)
VALUES (1, TIMESTAMP('2022-05-10 14:30:00'));
  1. Получение текущей отметки времени:
    Чтобы получить текущую метку времени в MySQL, вы можете использовать функции NOW() или CURRENT_TIMESTAMP(). Вот пример:
SELECT NOW(); -- Returns the current timestamp
SELECT CURRENT_TIMESTAMP(); -- Also returns the current timestamp
  1. Форматирование временных меток.
    MySQL предоставляет несколько функций форматирования даты и времени для преобразования временных меток в различные форматы. Для этой цели обычно используется функция DATE_FORMAT(). Вот пример:
SELECT DATE_FORMAT(created_at, '%Y-%m-%d %H:%i:%s') AS formatted_timestamp
FROM my_table;
  1. Преобразование временных меток в временные метки Unix.
    Временная метка Unix представляет собой количество секунд, прошедших с 1 января 1970 года в 00:00:00 UTC. Чтобы преобразовать временную метку MySQL в временную метку Unix, вы можете использовать функцию UNIX_TIMESTAMP(). Пример:
SELECT UNIX_TIMESTAMP(created_at) AS unix_timestamp
FROM my_table;
  1. Выполнение арифметических операций:
    Вы можете выполнять арифметические операции с временными метками в MySQL. Например, вы можете добавлять или вычитать интервалы из меток времени, используя функции DATE_ADD() и DATE_SUB(). Вот пример:
SELECT DATE_ADD(created_at, INTERVAL 1 HOUR) AS updated_timestamp
FROM my_table;

Управление временными метками имеет решающее значение для многих приложений, которые полагаются на данные, чувствительные ко времени. В этой статье мы рассмотрели различные методы работы с метками времени в MySQL. Мы рассмотрели хранение текущих меток времени, вставку определенных меток времени, получение текущей метки времени, форматирование меток времени, преобразование меток времени в метки времени Unix и выполнение арифметических операций с метками времени. Используя эти методы, вы можете эффективно обрабатывать данные даты и времени в базах данных MySQL.