Mysql полоса времени компонент из даты и времени - PullRequest
68 голосов
/ 06 ноября 2008

Мне нужно провести сравнение дат в Mysql без учета компонента времени, т. Е. Мне нужно преобразовать '2008-11-05 14:30:00' в '2008-11-05'

В настоящее время я делаю это:

SELECT from_days(to_days(my_date))

Есть ли правильный способ сделать это?

Ответы [ 5 ]

127 голосов
/ 06 ноября 2008

Да, используйте функцию date :

SELECT date(my_date)
7 голосов
/ 06 ноября 2008

select date(somedate) является наиболее распространенным.

Если вам нужно разместить другие форматы, вы можете использовать:

SELECT DATE_FORMAT('2009-10-04 22:23:00', '%Y-%m-%d');
3 голосов
/ 06 ноября 2008

В 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

1 голос
/ 07 мая 2013

Просто простой способ сделать это date("d F Y",strtotime($row['date'])), где $row['date'] приходит из вашего запроса

0 голосов
/ 26 сентября 2012

Вы можете использовать ToShortDateString();

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