Przedział czasowy

0

Witam serdecznie,
Potrzebuję zapytania które wyświetli mi wszystkie rekordy z bazy danych które będą mieściły sie w zadanych przedziałach czasowych.
Przykładowo mam w bazie rekord z godziny 2014-07-24 15.15 i chcę wyświetlić w wyszukiwarce rekordy które będą mieściły się w przedziale: szukana data => szukana data + 1h.

Przykładowo dla szukanej daty 2014-07-24 15.15 wyglądałoby to następująco:
select id from tabelka WHERE datacel <'2014-07-24 15:15:00' and datacel > '2014-07-24 16:15:00' ORDER by datacel ASC LIMIT 1;

Niestety powyższe zapytanie mi nie działa :( Ma ktoś może pomysł jak zrobić żeby działało?

0

Podczas dodawania elementu do bazy dodaj także datę dodania.

0

datacel - tutaj mam te daty:)

0

Możesz użyć coś takiego.

DECLARE  
@start datetime = '2014-01-01 00:00:00',
@ile int = 99999
SELECT *
FROM Tabela
WHERE Data > @start AND Data < DateAdd(hh, @ile, @start)

@ile (ile godzin)
@start (data startowa)

1

ludzie kochani co za niestworzone historie wymyślacie???

Co do problemu to JEDNA data nie może być JEDNOCZEŚNIE większa od 16:15 i mniejsza od 15:15 (tego samego dnia)
datacel <'2014-07-24 15:15:00' and datacel > '2014-07-24 16:15:00'
Po prostu masz "dziubki" w nie tą stronę. BTW w takim przypadku bardziej czytelny jest zapis datacel between '2014-07-24 15:15:00' and '2014-07-24 16:15:00'

0

W dziale PHP ktoś całkiem niedawno o to samo pytał...
Wyszukiwanie wolnego terminu w MySQL
Tam podałem z dokładnym przykładem (zamieniłem daty na inty, ale to to samo)

1 użytkowników online, w tym zalogowanych: 0, gości: 1