Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] połączenie BETWEEN i LIKE
Forum PHP.pl > Forum > Przedszkole
agataperz
Witam,

nie wiem jak utworzyć zapytanie z wyrażeniem BETWEEN i LIKE możecie mnie jakoś naprowadzić?

  1. SELECT * FROM ehi WHERE DATA BETWEEN LIKE '2011-07%' AND LIKE '2011-06%' ORDER BY DATA ASC
mat-bi
Ech, gdybyś miał normalną kolumnę, przechowującą datę w odpowiednim formacie, nie byłoby takich problemów.
bastard13
Nie połączysz. Możesz spróbować rzutować tą swoja kolumnę na date http://dev.mysql.com/doc/refman/5.0/en/cas...l#function_cast
agataperz
tak też myślałam - no to będę musiała zastosować

  1. DATA > curdate( ) - INTERVAL 60 DAY


niestety nie zawsze wyświetli mi 2 ostatnie miesiące sad.gif
wookieb
Bo to się cofa o równo 60 dni a nie 2 pełne miesiące kalendarzowe. Użyj takiej formy jaką miałaś tylko zamień pole w bazie na typ DATE.
agataperz
W SQL typ kolumny mam DATE i to zapytanie nie działa zwraca mi komunikat
  1. #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIKE '2011-07%' AND LIKE '2011-06%' ORDER BY DATA ASC LIMIT 0, 30' at line 1
wookieb
  1. pole BETWEEN '2011-06-01' AND '2011-07-31'
agataperz
niestety nie mogę użyć na stałe dnia.
Jeżeli zrobie na stałe:
  1. ".$rok."-".$mc."-31

i miesiac bedzie luty to mi wywali błąd
nospor
  1. WHERE DATE_FORMAT(pole,'%Y-%m') BETWEEN '2011-06' AND '2011-07'
wookieb
A co za problem wyliczyć ostatni dzień miesiąca w PHP? Nawet w mysql da się to uczynić za pomocą INTERVAL.

  1. date('Y-m-d', mktime(0,0,0, 8, 0)); // ostatni dzień miesiąca "lipiec"
agataperz
Upss faktycznie.

Dzięki chłopaki.
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.