Как я могу преобразовать дату в дату, укоротив время, оставив мне даты? - PullRequest
18 голосов
/ 23 сентября 2011

У меня есть поле в формате datetime, когда дата будет лучше и более согласована с остальной частью базы данных, поэтому я хочу преобразовать.Часть времени все равно 00:00:00.

Как я могу сделать это в MySQL?

Спасибо.

Ответы [ 3 ]

28 голосов
/ 23 сентября 2011

Если вы хотите это в SELECT -Statement, просто используйте оператор DATE:

SELECT DATE(`yourfield`) FROM `yourtable`;

Если вы хотите изменить таблицу структурно, просто измените тип данных на DATE (конечно, делайте это, только если это не влияет на приложения в зависимости от этого поля).

ALTER TABLE `yourtable` CHANGE `yourfield` `yourfield` DATE;

Оба устранят временную часть.

5 голосов
/ 23 сентября 2011

Примените его как ДАТУ:

select DATE(my_date_time)

Это будет отсекать время от него, оставляя только часть даты.

1 голос
/ 26 октября 2017

при использовании change мы должны повторить то же имя для поля. Теперь мы можем использовать MODIFY для изменения типа поля.

ALTER TABLE `yourtable` MODIFY `yourfield` DATE;

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