Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> LEFT z BETWEEN, Nie działa dla pełnego przedziału.
Zajec
post
Post #1





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

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


Mam listę książek, każda ma swój title i chciałbym stworzyć listę literek alfabetu i przy każdej ilość książek, których tytuł na daną literkę się zaczyna. W tym celu użyłem WHERE left BETWEEN. Wszystko działa odpowiednio, dopóki nie próbuję wyciągnąć tytułów zaczynających się od cyfry.

Nie ma problemu, gdy wykonam zapytanie:
  1. SELECT * FROM `book` WHERE LEFT(title, 1) BETWEEN 1 AND 9
wyrzuca mi wtedy książdki typu:
101 nocy i dni
77 dni w ciszu
99 lokacji

Jednak gdy zmienię zapytanie na następujące (uwzględię zero)
  1. SELECT * FROM `book` WHERE LEFT(title, 1) BETWEEN 0 AND 9
wypluwa mi wszystkie rekordy tabeli.

Czy ktoś może powiedzieć co jest przyczyną oraz jak prawidłowo wyciągnąć title zaczynające się od cyfry?


Kod
MySQL - 5.0.15-standard
Wersja protokołu: 10
Serwer: Localhost via UNIX socket
Użytkownik: zajec@localhost
System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)


Ten post edytował Zajec 22.07.2006, 21:39:02
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




skoro to mysql to rzucamy to na mysql

Nie mam teraz dostepu do bazki, ale left zwraca ci znak (string), wiec chyba powinienes to warunkowac stringami
Go to the top of the page
+Quote Post

Posty w temacie


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: 8.10.2025 - 19:51