Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] select danych z daty pomiędzy 01/01/2012 a 31/01/2012 ?
Forum PHP.pl > Forum > Przedszkole
Elber
Witam,

w bazie mam datę wpisaną w polu varchar w postaci 01/01/2012 ... jak teraz wyciągnąć rekordy które są pomiędzy datą 01/01/2012 a 31/01/2012 ?

Chodzi mi o samo zapytanie do MySQL'a
nospor
Po pierwsze i najważniejsze: jeśli masz możliwosc zmiany typu pola to zmien z tego tekstu na pole typu DATE.
Elber
Mam możliwość, ale dane jakie tam są wpisywane lecą z pliku txt i są w postaci 01/01/2012, i czy jak pole będzie date czy dalej tak tam będą mogły być wpisywane ?
nospor
A co za problem masz by przed wrzuceniem tych dat do bazy zamienić je na normalną datę i zapisać w polu DATE? Zaden. A ułatwi ci życie o 100%
Sephirus
A jak nie masz to zapoznaj się z funkcją CAST i zastosuj ją na przykład tak:

  1.  
  2. SELECT ....... WHERE CAST(
  3. CONCAT(
  4. SUBSTR(pole_daty_varcharowe,7,4),'-',
  5. SUBSTR(pole_daty_varcharowe,4,2),'-',
  6. SUBSTR(pole_daty_varcharowe,1,2)
  7. )
  8. AS date) BETWEEN '2012-01-01' AND '2012-01-31'
  9.  


Ale lepiej zmienić typ tego pola ;P

EDIT: Poprawione wink.gif
nospor
Widzę wziąłeś rozwiązanie Sephirusa.... no nic, twoja sprawa. Ale wiedz że się pogrążasz takim podejściem.
Elber
Nie, pozmieniam wszystko na pole data, ale de facto post Sephirusa rozwiązał problem zawarty w poście, gdyż poprosiłem o pokazanie takiego zapytania 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.