Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQLite] Wielkosc liter brata pod uwagę w zapytaniu.
Forum PHP.pl > Forum > Przedszkole
Wazniak96
Problem lezy w tym, ze jezeli w bazie mamy dodane rekord, np 'Pomidor', a zapytanie ulozymy WHERE warzywo='pomidor' to nie znajdziemy zadnego rekordu. Jest jakis sposob aby to ominąc .? Czy muszę dodac nowe pole, w ktorym bd konwersowal nazwe wazywa poprzez strlower do malych liter a pozniej rownierz $_POST['warzywo'] konwersowal do malych .?
peter13135
może funkcja lower ?
Crozin
Musiałbyś ustalić odpowiedni tryb porównywania znaków (ang. collate). SQLite posiada trzy tryby: binary, nocase, rtrim. Nocase nie uwzględnia wielkości znaków, jednak działa wyłącznie ze znakami łacińskimi, innymi słowy A = a, ale Ą != ą. Tak więc jeżeli korzystasz z SQLite nie masz na dobrą sprawę innej możliwości jak utworzyć dodatkową kolumnę.
Wazniak96
Crozin a jak to porownywanie znakow przestawic .questionmark.gif
Crozin
Możesz to albo ustawić deklarując strukturę tabeli:
  1. CREATE TABLE tbl_name (
  2. col_name COLLATE NOCASE,
  3. ...
  4. );
Albo na poziomie zapytania SQL:
  1. SELECT ... WHERE col_name_a = col_name_b COLLATE NOCASE ...
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.