2014-08-29 12 views
0

Я использую MySQL, у меня есть столбец в таблице под названием дата_1, который является VARCHAR (255), колонна состоит из датизменения формата даты в другой формат

, которые находятся в формате «25 июня 2014» Я хотят конвертировать их в «25 -06-2014», т.е. DD-MM-YYYY

как это сделать?

+1

В качестве примечания, хранящего даты, как varchar, не является хорошим дизайном вообще. –

+0

Я конвертирую базу данных из sql-сервера в свой sql, сначала мне нужно его очистить, тогда я преобразую его в формат даты – mb1987

ответ

1

Использование STR_TO_DATE() и DATE_FORMAT()

SELECT DATE_FORMAT(STR_TO_DATE(date_1, '%M %e,%Y'), '%d-%m-%Y') AS new_date 

См DATE_FORMAT() для всех спецификаторов формата, которые могут быть использованы с этими функциями.

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

0

Ваш лучший вариант - не хранить их как varchar и вместо этого хранить их в собственном формате как date или datetime. Затем у вас есть богатый выбор операторов для их форматирования любым способом, который вы можете легко придумать, и поддерживать богатые операции с запросами в столбце.

Смежные вопросы