Проблем:
Искате да промените формата на данните за дата и час в MySQL база данни.
Пример:
Нашата база данни има таблица с име student_platform с данни в колоните id , first_name , last_name и registration_datetime .
| id | first_name | фамилно_име | registration_datetime |
|---|---|---|---|
| 1 | Лора | Лоренс | 23.02.2019 12:04:23 |
| 2 | Ан | Смит | 2018-07-10 10:12:15 |
| 3 | Том | Джаксън | 2019-03-09 08:20:33 |
| 4 | Ричард | Уилямс | 30.09.2018 06:07:34 |
За всеки ученик нека получим неговото име, фамилия и дата и час на регистрация. Искаме обаче да покажем датата и часа в следния формат:съкратено име на делничен ден, запетая, година, име на месец, ден от месеца и часът в часове, минути и секунди. Трябва да изглежда така:
Tue, 2019 February 17 11:18:55
Решение:
Ще използваме DATE_FORMAT() функция. Ето заявката, която бихте написали:
SELECT first_name,
last_name,
DATE_FORMAT(registration_datetime,’%a, %Y %M %e %H:%i:%s’)
AS format_registration_datetime
FROM student_platform;
Ето резултата от заявката:
| first_name | фамилно_име | format_registration_datetime |
|---|---|---|
| Лора | Лоренс | Сб, 23 февруари 2019 г., 12:04:23 ч. |
| Ан | Смит | Вт, 10 юли 2018 г., 10:12:15 ч. |
| Том | Джаксън | Сб, 9 март 2019 г., 08:20:33 ч. |
| Ричард | Уилямс | Пн, 30 септември 2019 г. 06:07:34 |
Дискусия:
В MySQL база данни функцията DATE_FORMAT() ви позволява да показвате данни за дата и час в променен формат.
Тази функция приема два аргумента. Първият е датата/часът, който трябва да бъде преформатиран; това може да бъде колона за дата/време/дата и време/време или израз, връщащ стойност в един от тези типове данни. (В нашия пример използваме registration_datetime колона на дата и час тип данни.)
Вторият аргумент е низ, съдържащ желания формат за дата и час. MySQL прави достъпни редица спецификатори, като:
- %a – Съкратено име на делничен ден.
- %Y – Година с 4 цифри.
- %M – Пълно име на месеца.
- %e – Ден от месеца (от 1 – 31).
- %H – Час (от 00-23).
- %i – Минути (от 00-59).
- %s – Секунди (от 00-59).
Можете да научите повече за спецификаторите за дата и час тук, в официалната документация на MySQL.
Например Лора Лоренс регистриран на „2019-02-23 12:04:23“. Сега датата и часът на нейната регистрация имат новия формат „Сб, 23 февруари 2019 г. 12:04:23“.