Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Porównywanie wg dat, dwa pytania
ktuvok
post
Post #1





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

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


W swojej bazie mam daty zapisane w postaci DATETIME,
np: '2004-11-13 17:56:07'

Używam do porównania funkcji DATE_FORMAT. Jeśli juzer wybiera w formularzu,
że chce oglądać zamówienia złożone pomiędzy '2004-07-16' a '2004-09-02', to
instrukcja wybierająca rekordy jest taka:
  1. SELECT * FROM Zamowienia WHERE DataZamowienia BETWEEN DATE_FORMAT('2004-07-16','%Y-%m-%d') AND DATE_FORMAT('2004-09-02','%Y-%m-%d')

Czy powinienem zamiast tego stosować UNIX_TIMESTAMP? Czy wtedy będzie
szybciej albo pewniej?


I druga rzecz:

Jeśli wpiszę następujące zapytanie:
  1. SELECT IF(DATE_FORMAT('2004-05-25 15:22:16','%Y-%m-%d')-
  2. DATE_FORMAT('2004-05-23 12:37:16','%Y-%m-%d') > 0, 'true','false')

to dlaczego otrzymuję false, skoro '2004-05-25' minus '2004-05-23' powinno
wynieść 2?

Zapytanie:
  1. SELECT IF(DATE_FORMAT('2004-05-25 15:22:16','%Y-%m-%d')>
  2. DATE_FORMAT('2004-05-23 12:37:16','%Y-%m-%d'), 'true','false')

zwraca już 'true' - przecież to nie ma sensu!

Pozdrawiam,
Krzysiek
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 19.08.2025 - 12:48