Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] DATETIME jako DATE
Forum PHP.pl > Forum > Przedszkole
szuki
Witam, mam mały problem.

Mam takie zapytanie:

  1. SELECT * FROM items INNER JOIN sold ON items.id_items = sold.id_items WHERE sold.date >= '$aktualna_data' AND items.id_users = '1'


Chciałbym pobrać wszystkie wyniki załóżmy z dzisiejszego dnia. Problem w tym, że w bazie mam DATETIME. a nie samo DATE.

Mógłbym co prawda podać w zmiennej dzisiejszą datę i załóżmy 06:00:00, wtedy zapytanie by zadziałało, ale czy jest inna metoda, która porównałaby samo Y-m-d?

Pozdrawiam i dziękuję za pomoc.
Zielonkawy18
Możesz sobie napisać jakąś funkcję, która za argument przyjmię CURRENT_DATE??
Crozin
Skorzystaj z funkcji DATE.
szuki
Dzięki za pomoc. Crozin, tak planowałem, ale wyczytałem, że nie jest to najlepsze rozwiązanie.

Cytat
... przeliczanie DATE() dla rekordów w warunku jest nieoptymalne dla pola DATETIME.
szalek01
a LIKE ?
np:
  1. SELECT * FROM `wp_posts` WHERE `post_date` LIKE '%2012-03-09%'

post_date = datetime
Crozin
Jak sam zauważyłeś, wystarczy że dodasz godzinę (z tym, że powinna to być północ, tj. 00:00:00). Zresztą MySQL jest na tyle mądry, że w przypadku podania samej daty, przy kolumnie typu DATETIME automatycznie założy, że chodzi właśnie o północ.

Na dobrą sprawę nie musisz nic zmieniać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.