Какой тип данных следует использовать для «2020-04-11T19: 54: 00.0000000Z» в базе данных MySQL SQL? - PullRequest
1 голос
/ 12 апреля 2020

Какой формат времени 2020-04-11T19:54:00.0000000Z? Должен ли он быть введен в базу данных SQL как DATE, DATETIME, TIMESTAMP, TIME или YEAR?

1 Ответ

0 голосов
/ 13 апреля 2020

Это ISO-8601 . Формат включает в себя дату, время с возможной точностью долей секунды и информацию о часовом поясе.

В основном вы должны использовать либо DATETIME, либо конвертировать в UNSIGNED INT, в зависимости от того, что вы предпочитаете.

Дьявол в деталях. Если все полученные вами значения заканчиваются на Z, вы можете предположить, что вы получаете datetime в UT C. Просто используйте DATETIME и убедитесь, что ваш сервер MySQL настроен на UT C часовой пояс.

Вам нужно сохранить имя часового пояса для последующего поиска? В этом случае вам нужно будет разобрать входное значение в два поля. Одно поле для хранения даты и времени в формате UT C, а второе для хранения значения часового пояса (тип поля datetime MySQL не хранит значение часового пояса). Также позаботьтесь о преобразовании входных значений в UT C. Если вы используете MySQL версии 8.0.19 или новее, это может сделать для вас .

Не забудьте установить переменную часового пояса сервера MySQL в UT C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...