Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie SQL dot. daty i czasu
Forum PHP.pl > Forum > Bazy danych
likemandrake
Witam!

Mamy sobie taka tabelke :

id | data | czas
---------------------------
5 |2007-01-04| 21:20
4 |2007-01-04| 20:15
3 |2007-01-04| 12:30
2 |2007-01-03| 23:00
1 |2007-01-03| 22:15
0 |2007-01-03| 11:00

chodzi mi stworzyć takie zpytanie sql aby wybrało wiersze, gdzie data<=2007-01-04 i czas<=13:00, czyli powinienem otrzymać coś takiego:

id | data | czas
---------------------------
3 |2007-01-04| 12:30
2 |2007-01-03| 23:00
1 |2007-01-03| 22:15
0 |2007-01-03| 11:00

Niestety jakoś mi to nie wychodzi, zapytanie typu:

SELECT * FROM tabela WHERE data<='2007-01-04' AND czas<='13:00' nie daje zadowalającego rezultatu, tlyko coś takiego:


id | data | czas
---------------------------
3 |2007-01-04| 12:30
0 |2007-01-03| 11:00

Pozdrawiam smile.gif
siemakuba
jeżeli dobrze widzę, to taki warunek data<='2007-01-04' AND czas<='13:00' pasuje dokładnie tylko do tych danych, które zwraca zapytanie. Wszystkie kolumny data spełniają warunek <='2007-01-04' i tylko kolumny z id=0 i id=3 spełniają warunek czas<='13:00' ;)

coś pomieszałeś zdaje się, albo zapytałeś nie o to co trzeba ;)

pozdr.
shpyo
Po co robić dwie kolumny na datę? Nie lepiej zrobić jedną kolumnę typu DATATIME? Tak chyba łatwiej i szybciej będzie.
Vertical
Są dwa rozwiązania. Albo robisz warunek IF, że jeśli data = '2007-01-04' to czas musi być <= '13:00', albo robisz jedno pole typu DATETIME.
Cytat
SELECT * FROM tabela WHERE data<='2007-01-04' AND czas<='13:00' nie daje zadowalającego rezultatu, tlyko coś takiego:

Nie daje rezultatu, bo takie zapytanie wywoła tylko pola, w których czas <= '13:00', a nie gdzie czas <= '2007-01-04 13:00'
likemandrake
Dzięki wam wszystkim!

Przynajmniej wiem, że więcej wiem smile.gif

Pozdrawiam
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.