Мне нужно выполнить сравнение даты в Mysql без учета компонента времени, т.е. мне нужно преобразовать «2008-11-05 14:30:00» в «2008-11-05»
В настоящее время я делаю это:
SELECT from_days(to_days(my_date))
Есть ли правильный способ сделать это?
Ответы:
Да, используйте функцию даты :
SELECT date(my_date)
select date(somedate)
самый распространенный.
Если вам нужно приспособить другие форматы, вы можете использовать:
SELECT DATE_FORMAT(your_date, '%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_trunc()
(не trunc()
) фактически не удалял бы часть времени в Postgres. Он просто установил бы его, 00:00:00
что-то другое.
Просто простой способ сделать это , date("d F Y",strtotime($row['date']))
когда $row['date']
приходит из вашего запроса