[mySQL] LIKE case sensitive ?!
 
blackmamba18. jul 2010 14:33:49Pridružen od:
4. mar 2008
290 objav
+124-101
#1Imam InnoDB tabelo "hrana", collation utf8_slovenian_ci
Not imam zapis "Goveja juha"

Tale poizvedba vrne rezultat in deluje ok:SELECT * FROM hrana WHERE jed LIKE '%go%'Čeprav je v tabeli zapis z veliko začetnico, vrne rezultat.

Tale pa že ne več:SELECT * FROM hrana WHERE jed LIKE '%gov%'Je enako kot prej, samo ena dodatna črka in ne najde nič WFT ?!?

V redu pa dela, če napišem z velikimiSELECT * FROM hrana WHERE jed LIKE '%Gov%'
imam nastavljen SET CHARACTER SET 'utf8'
in SET NAMES 'utf8'

probal sem že tudi kombinacije z UPPER(jed) in LOWER(jed) in mb_strtoupper()...

Do sedaj nisem nikoli tega opazil ali pa ni bilo problema.
Mysql verzija = 5.1.48

Kašna ideja?
všeč(0)ni všeč(0)spam(0)
 
blackmamba18. jul 2010 14:47:47Pridružen od:
4. mar 2008
290 objav
+124-101
#2Aaahhhhh sem ugotovil napako ... field je bil tipa varbinary namesto varchar!!!
všeč(0)ni všeč(0)spam(0)
 
muadib16. avg 2010 11:08:44Pridružen od:
6. avg 2010
4 objave
+100
#3Pazi tudi pri izbiri "kolejšna", kajti "kolejšn" ki se konča na cs ali bin je case sensitive, ostali ki se končajo na ci so pa case insensitive.

Se pravi latin2_bin ali utf8_bin je case sensitive, dočim utf8_general_ci ali pa latin2_croatian_ci pa je case insensitive.
všeč(+1)ni všeč(0)spam(0)
 
kelvan24. avg 2010 19:08:50Pridružen od:
19. okt 2007
388 objav
+187-3312
#4ce imas nastavljeno case sensitive, lahko uporabis tudi
SELECT * FROM hrana WHERE UPPER(jed) LIKE '%GOV%'
všeč(+1)ni všeč(0)spam(0)
 
stran 1 od 1 |<<1>>|