Задать вопрос
@AlexRas

Как можно перебрать mysql таблицу и исправить формат даты с 31.10.16 на 2016-10-31?

Здравствуйте, подскажите как можно это сделать.

В таблице более 70000 записей. В ней имеется поле с датой в формате 31.10.16. Нужно заменить этот формат на 2016-10-31.
  • Вопрос задан
  • 156 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
orlov0562
@orlov0562 Куратор тега PHP
I'm cool!
если это текстовое поле, тогда так:
UPDATE tbl SET
`date` = CONCAT('20',SUBSTRING(`date`,7,2),'-',SUBSTRING(`date`,3,2),'-',SUBSTRING(`date`,0,2))
WHERE date LIKE '__.__.__'
;


только проверь вначале так:
SELECT
CONCAT('20',SUBSTRING(`date`,7,2),'-',SUBSTRING(`date`,3,2),'-',SUBSTRING(`date`,0,2)) as date
FROM tbl
WHERE date LIKE '__.__.__'
;
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
savostin
@savostin
Еще один программист
alter table `TABLENAME` add column `NEWCOLUMN` date;
update `TABLENAME` set `NEWCOLUMN` = STR_TO_DATE(`MYCOLUMN`, '%d.%m.%Y');
alter table `TABLENAME` drop column `MYCOLUMN`;
alter table `TABLENAME` change column `NEWCOLUMN` `MYCOLUMN` date;
Ответ написан
Комментировать
romy4
@romy4
Exception handler
какой тип поля и почему оно с таким форматом?
по умолчанию выводится в вашем локальном формате независимо от того как хранится в базе. может вам лучше исправлять локальное отображение, а не базу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы