Функция TIMESTAMPDIFF () в MYSQL
TIMESTAMPDIFF ():
Эта функция в MySQL используется для возврата значения после вычитания выражения DateTime из другого.
Синтаксис:
TIMESTAMPDIFF (единица измерения; выражение1; выражение2)
Параметры:
Он принимает три параметра.
- Ед. изм -
Он обозначает единицу измерения результата. Это может быть одно из следующих.
МИКРОСЕКУНДА, СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ, КВАРТАЛ, ГОД - expr1 -
Первая дата или выражения DateTime. - expr2 -
Вторая дата или выражения DateTime.
Возврат:
Он возвращает выражения DateTime после вычитания.
Пример 1:
Получение разницы между двумя указанными значениями времени, где время указано в формате ГГГГ-ММ-ДД ЧЧ-ММ-СС. Здесь expr2 больше expr1, поэтому возвращаемое значение положительное.
ВЫБЕРИТЕ TIMESTAMPDIFF (ВТОРОЙ, '2010-01-01 10:10:20', '2010-01-01 10:45:59') КАК ВТОРАЯ РАЗНИЦА;
Выход : ВТОРАЯ РАЗНИЦА 2139
Пример 2:
Получение разницы между двумя указанными значениями времени, где время указано в формате ГГГГ-ММ-ДД ЧЧ-ММ-СС. Здесь expr2 меньше expr1, поэтому возвращаемое значение отрицательное.
ВЫБЕРИТЕ TIMESTAMPDIFF (ВТОРОЙ, '2010-01-01 10:10:20', '2010-01-01 09:45:59') КАК ВТОРАЯ РАЗНИЦА;
Выход:
ВТОРАЯ РАЗНИЦА |
---|
-1461 |
Пример 3:
Получение разницы между двумя указанными значениями даты в месяце, когда дата указана в формате ГГГГ-ММ-ДД.
ВЫБЕРИТЕ TIMESTAMPDIFF (МЕСЯЦ, '2019-08-01', '2020-11-01') КАК РАЗНИЦА МЕСЯЦА;
Выход: РАЗНИЦА В МЕСЯЦЕ 15
Пример 4:
Расчет общего опыта работы сотрудника с помощью функции TIMESTAMPDIFF.
Создание таблицы сотрудников -
СОЗДАТЬ ТАБЛИЦУ Сотрудник ( id INT AUTO_INCREMENT PRIMARY KEY, Full_Name VARCHAR (50) NOT NULL, Joining_Date DATE NOT NULL );
Вставка значений в таблицу -
ВСТАВИТЬ В сотрудника (ФИО, Дата присоединения) ЦЕННОСТИ ('Рия Яна', '2000-01-01'), ('Sayan Ghosh', '2005-09-26'), ('Ринки Шарма', '2014-08-12'), («Аникет Сингх», «2019-11-05»);
Теперь мы будем использовать TIMESTAMPDIFF для расчета опыта работы каждого сотрудника в году.
ВЫБРАТЬ я бы, ФИО, Дата вступления , TIMESTAMPDIFF (YEAR, Joining_Date, '2020-11-26') КАК WorkExperience ИЗ Работник ;
Выход : Я БЫ ФИО ДАТА ВСТУПЛЕНИЯ РАБОЧИЙ СТАЖ 1 Рия Яна 2000-01-01 20 2 Саян Гош 2005-09-26 15 3 Ринки Шарма 2014-08-12 6 4 Аникет Сингх 2019-11-05 1