![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 0 Dołączył: 4.01.2007 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam tabele xxx, a w nim pola z dwiema datami (przedział od - do). Jak przeszukać pierwsze pole od danej godziny (od 15:00), natomiast drugie do danej godziny (np. 15:00)? Daty zapisane unixowo. Ten post edytował SN@JPER^ 5.05.2015, 16:55:52 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 150 Pomógł: 31 Dołączył: 10.01.2007 Skąd: Bydgoszcz/Inowrocław Ostrzeżenie: (0%) ![]() ![]() |
Może tak:
dostaniesz wszystkie rekordy ktorych od >= twoj_unixtimestamp i do <= twoj_unixtimestamp. jeśli zamiast timestampa chcesz podawac date, wtedy uzyj unix_timestamp('yyyy-mm-dd hh:mm:ss') jesli chcesz porownywac tylko godziny (bez konkretnego dnia):
Wydajność tego ostatniego jest jednak dość mała, lepiej dodać kolejne pola typu time, nałożyć na nie indeksy i sprawdzać po tych polach. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 0 Dołączył: 4.01.2007 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Ogólnie wyszukuje dany dzień, od i do godziny 15:00. Zajętość pokoju hotelowego - tzw. doba hotelowa.
Czyli załóżmy, ktoś sprawdza zajętość pokoju od 15:00 5 maja do 15:00 8 maja. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 150 Pomógł: 31 Dołączył: 10.01.2007 Skąd: Bydgoszcz/Inowrocław Ostrzeżenie: (0%) ![]() ![]() |
Napisz, czy dobrze rozumiem:
W polu `od` masz datę rozpoczęcia zajętości, w polu `do` - datę zakończenia zajętości. Wyszukujesz też 2 daty - rozpoczęcia zajętości i zakończenia zajętości więc w twoim przypadku:
dostaniesz wszystkie zajęte pokoje w terminie ('2015-05-05 14:00:00'; '2015-05-08 12:00:00'). Mogą być zajęte np od 2015-05-03 14:00:00 do 2015-05-06 12:00:00 lub 2015-05-07 14:00:00 do 2015-05-10 12:00:00 lub 2015-05-06 14:00:00 do 2015-05-07 12:00:00 Zamiast ustawiania @zmiennych w mysql możesz je podać z PHP lub innego jezyka |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 16:49 |