Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] DATETIME jako DATE
szuki
post 21.10.2012, 13:20:56
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 21.09.2012

Ostrzeżenie: (0%)
-----


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.

Ten post edytował szuki 21.10.2012, 13:21:44
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Zielonkawy18
post 21.10.2012, 13:35:15
Post #2





Grupa: Zarejestrowani
Postów: 152
Pomógł: 4
Dołączył: 4.10.2012

Ostrzeżenie: (10%)
X----


Możesz sobie napisać jakąś funkcję, która za argument przyjmię CURRENT_DATE??


--------------------
C/C++/C#/JAVA/SQL ( funkcje, procedury, pakiety ).
Go to the top of the page
+Quote Post
Crozin
post 21.10.2012, 13:44:06
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Skorzystaj z funkcji DATE.
Go to the top of the page
+Quote Post
szuki
post 21.10.2012, 13:56:41
Post #4





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 21.09.2012

Ostrzeżenie: (0%)
-----


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.


Ten post edytował szuki 21.10.2012, 13:57:51
Go to the top of the page
+Quote Post
szalek01
post 21.10.2012, 14:02:33
Post #5





Grupa: Zarejestrowani
Postów: 129
Pomógł: 17
Dołączył: 17.09.2012

Ostrzeżenie: (0%)
-----


a LIKE ?
np:
  1. SELECT * FROM `wp_posts` WHERE `post_date` LIKE '%2012-03-09%'

post_date = datetime


--------------------
PDO nie gryzie....
Go to the top of the page
+Quote Post
Crozin
post 21.10.2012, 14:11:26
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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ć.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 01:42