Мне нужно провести сравнение дат в Mysql без учета компонента времени, т. Е. Мне нужно преобразовать '2008-11-05 14:30:00' в '2008-11-05'
В настоящее время я делаю это:
SELECT from_days(to_days(my_date))
Есть ли правильный способ сделать это?
Да, используйте функцию date :
SELECT date(my_date)
select date(somedate) является наиболее распространенным.
select date(somedate)
Если вам нужно разместить другие форматы, вы можете использовать:
SELECT DATE_FORMAT('2009-10-04 22:23:00', '%Y-%m-%d');
В PostgreSQL вы используете функцию TRUNC (), но я не вижу ее для MySQL. Из моего краткого поиска в Google, похоже, вам нужно привести значение DATETIME к DATE.
date_col = CAST(NOW() AS DATE)
См. http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html
Просто простой способ сделать это date("d F Y",strtotime($row['date'])), где $row['date'] приходит из вашего запроса
date("d F Y",strtotime($row['date']))
$row['date']
Вы можете использовать ToShortDateString();
ToShortDateString();