• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z zakresem w zapytaniu do bazy

Object Storage Arubacloud
0 głosów
370 wizyt
pytanie zadane 13 października 2016 w SQL, bazy danych przez Peengie Początkujący (360 p.)

Cześć,

Mam problem z zapytaniem do bazy. W sumie to dwie rzeczy mnie interesują.

Po pierwsze to dlaczego przy zapytaniu:

SELECT * FROM users WHERE nazwa LIKE 'A%'

wyświetla mi tylko te rekordy, w których nazwa zaczyna na A ale tylko gdy jest to jednowyrazowa nazwa, natomiast gdy nazwa składa się z kilku części (np. Ala ma kota) to tego rekordu już mi nie wyświetla?

Po drugie to chcę przerobić to zapytanie żeby wyświetlało rekordy z nazwą zaczynającą się w zakresie od A-E, próbowałem tak:

SELECT * FROM users WHERE nazwa LIKE '[A-E]%'

Niestety, takie zapytanie nie wyświetla żadnego rekordu. 

Jakieś pomysły? 

Pozdrawiam,

Adrian

2 odpowiedzi

0 głosów
odpowiedź 13 października 2016 przez Boshi VIP (100,240 p.)
komentarz 14 października 2016 przez Peengie Początkujący (360 p.)

kombinuje z regexem ale też mi coś nie wychodzi...

Dlaczego po wpisaniu takiego zapytania:

SELECT * FROM user WHERE nazwa REGEXP '^[A-Z]' ORDER BY nazwa ASC

wyskakuje mi 7 rekordów na 9? Zakres jest taki że powinno pokazać wszystkie rekordy. Może mieć to coś związanego z typem tabeli? Typ ustawiony mam na varchar(128).

Po wpisaniu zapytania:

SELECT * FROM user WHERE nazwa REGEXP '^A' ORDER BY nazwa ASC

powinno wyświetlić wszystkie rekordy z nazwą na literkę "A", a mi wyświetla 3 na 4 rekordy które nazwę mają na literkę A :/

0 głosów
odpowiedź 17 października 2016 przez Peengie Początkujący (360 p.)

kombinuje z regexem ale też mi coś nie wychodzi...

Dlaczego po wpisaniu takiego zapytania:

SELECT * FROM user WHERE nazwa REGEXP '^[A-Z]' ORDER BY nazwa ASC

wyskakuje mi 7 rekordów na 9? Zakres jest taki że powinno pokazać wszystkie rekordy. Może mieć to coś związanego z typem tabeli? Typ ustawiony mam na varchar(128).

Po wpisaniu zapytania:

SELECT * FROM user WHERE nazwa REGEXP '^A' ORDER BY nazwa ASC

powinno wyświetlić wszystkie rekordy z nazwą na literkę "A", a mi wyświetla 3 na 4 rekordy które nazwę mają na literkę A :/

Podobne pytania

0 głosów
2 odpowiedzi 180 wizyt
0 głosów
0 odpowiedzi 89 wizyt
0 głosów
1 odpowiedź 762 wizyt
pytanie zadane 6 lipca 2016 w SQL, bazy danych przez Marshall_ Początkujący (350 p.)

92,568 zapytań

141,420 odpowiedzi

319,622 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...