Привет, StackOverflow,
У меня есть mySQL-база данных с столбцом с именем date
(varchar64) и нужны значения (т.е. 01.12.15
), преобразованные в значение метки времени. Поэтому я ищу запрос на обновление, который будет делать трюк.
Что-то с UNIX_TIMESTAMP(STR_TO_DATE('26.11.17', '%d.%m.%y'))
? Я не знаю, как сделать запрос с этим. Может ли кто-нибудь помочь?
Спасибо за вашу помощь!
Чтобы получить UNIX_TIMESTAMP(STR_TO_DATE('01.12.15', '%d.%m.%y'));
метку по varchar: UNIX_TIMESTAMP(STR_TO_DATE('01.12.15', '%d.%m.%y'));
Чтобы получить varchar по метке времени: GET_FORMAT(FROM_UNIXTIME(timestamp), '%d.%m.%y');
Обратите внимание, что это повлияло на ваш текущий часовой пояс.
Кроме того, это не хороший подход к хранению времени по varchar. Это пустая трата пространства и медленнее. Если вы хотите сохранить время, не зависящее от часовой пояс, просто используйте тип TIMESTAMP
или тип BIGINT
. Если вы хотите сохранить время, зависящее от времени, просто используйте тип DATETIME
.