Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nakładanie przedziałów czaoswych.
Milczar
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 13.12.2005

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


Witam.
Mam w bazie danych termin czasowy (od-do): kolumna START (data rozpoczęcia) i kolumna STOP (koniec) - obie kolumny typu timestamp bez TZ.
Potrzebuję sprawdzać czy podany przez użytkownika przedział czasowy (2daty: start i stop) nakłada sie, ma część współną, z przedziałem czasowym pobranym z bazy.
Nie wiem czy jest na to jakiś sposób w psql lub php - chciałbym uniknąć sprawdzania kolejno kilku warunków if'ami.
Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
kszychu
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


... WHERE (START BETWEEN czas_start AND czas_stop) OR (STOP BETWEEN czas_start AND czas_stop) OR (START <= czas_start AND STOP >= czas_stop)

Oczywiście zakładam, że sql postgresa obsługuje between.
Go to the top of the page
+Quote Post
behemot
post
Post #3





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 17.07.2003
Skąd: Tarnów/Kraków

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


w postgresie mamy tez operator overlaps

  1. SELECT *
  2. FROM okresy
  3. WHERE (from_date,to_date) overlaps ('2006-05-07'::date,'2006-05-12'::date);



pozdrawiam,
kuba
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 11:57