2014-10-01 8 views
0

Я создал таблицу, называемую событием, и у нее есть день рождения столбца, который использует формат даты % Y-% m-% d, но я хочу, чтобы оно было% d-% m -% Y. так, как я могу его обновить?Как изменить формат даты таблицы таблицы mysql

, когда я ввести новую строку с форматом% d-% m-% Y он преобразует его в 0000-00-00 (% Y-% m-% d)

Я попытался следующие запросы, чтобы изменить формат но он не работает.

SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y') SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM tablename

После выполнения этого запроса он говорит строка влияет и делают все значения 0000-00-00.

+0

Первый запрос должен работать. Что касается второго, то какой тип данных используется для 'column_name'? –

+0

@AbhikChakraborty im использует формат даты в этом столбце –

+0

Да, запрос показывает это, но где проблема? Вы сталкиваетесь с этой проблемой при сохранении данных? если да, то вам нужно использовать str_to_date() из формата ввода в формат Y-m-d mysql и убедиться, что столбец, в котором вы сохраняете, имеет тип данных 'date' или' datetime'. Преобразование при сохранении может быть выполнено с использованием языка уровня приложения, например PHP –

ответ

0

Это должно сработать. Я старался и работал для меня.

выберите DATE_FORMAT (день рождения, '% d /% m /% Y') из события;

Но какой у вас тип данных для дня рождения?

См. this пример.

+0

DATE - тип данных –

+0

Итак, код, который я написал, должен работать. Я обновил свой ответ на примерный вопрос. – rpirez

0

Попробуйте это:

SELECT DATE_FORMAT(dateColumn,'%d/%m/%Y') AS dateColumn FROM table 
+0

Что означает дата Колонна? –

+0

@ShaBeer имя вашей колонки. –

+0

Ваш запрос влияет на весь существующий столбец, но когда я пытаюсь вставить новый, он говорит, что данные усекаются для столбца «день рождения» в строке 1 –

0

Если вы хотите вставить (или обновление) дату, которая не находится в нужном формате и можно использовать

INSERT INTO `event` (columname) VALUES (STR_TO_DATE('30/09/2014', '%d/%m/%Y')) 
Смежные вопросы