Muszę zrobić porównanie dat w MySQL bez uwzględnienia składnika czasu, tj. Muszę przekonwertować „2008-11-05 14:30:00” na „2008-11-05”
Obecnie robię to:
SELECT from_days(to_days(my_date))
Czy jest na to właściwy sposób?
Odpowiedzi:
Tak, użyj funkcji daty :
SELECT date(my_date)
select date(somedate)
jest najczęściej.
Jeśli potrzebujesz dostosować się do innych formatów, możesz użyć:
SELECT DATE_FORMAT(your_date, '%Y-%m-%d');
W PostgreSQL używasz funkcji TRUNC (), ale nie widzę jej dla MySQL. Z mojego krótkiego wyszukiwania w Google wygląda na to, że musisz ustawić swoją wartość DATETIME na DATE.
date_col = CAST(NOW() AS DATE)
Zobacz http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html
date_trunc()
(nie trunc()
) nie będzie faktycznie usunąć część czasu w PostgreSQL. Po prostu ustawiłoby to na 00:00:00
coś innego.
Po prostu prosty sposób na zrobienie tego, date("d F Y",strtotime($row['date']))
skąd $row['date']
pochodzi Twoje zapytanie