Topic: LIKE ir LOWER()

Sveiki,
yra vartotojų lentelė:

id/vardas
1 Jonas
2 šarųnas
3 Petras
4 šarūnas

Kaip iš db ištraukti visus vardus kurie prasideda "šar".

SELECT * FROM `users` WHERE LOWER(name) LIKE "%šar%"

Kodėl man neranda "šarūno" iš š didžiosios?

Re: LIKE ir LOWER()

O kokios koduotės:
a) stulpelio;
b) susijungimo su db tos programos, kurioje leidžiama užklausa;

Re: LIKE ir LOWER()

DB lentelės ir stulpelio: utf8_general_ci    
PHP failo ir susijungimo: UTF-8

Re: LIKE ir LOWER()

sitaip ieskai bet kurioje teksto (zodzio) vietoje:
SELECT * FROM `users` WHERE LOWER(name) LIKE "%šar%"

sitaip ieskai teksto pradzioje
SELECT * FROM `users` WHERE LOWER(name) LIKE "šar%"

nepatingek http://dev.mysql.com/doc/refman/5.0/en/ … rator_like pasiskaityti ka reiskia: %, _, \%, \_

Re: LIKE ir LOWER()

Na ieškodamas bet kur jis kartu ieško IR teksto pradžioje, tai jeigu viskas gerai turėtų rasti. Pas jį kažkur kitur problema, tik nežinau kur, gali būt kad kažkur praleido kokią koduotę arba ne visai tiskliai pateikė duomeis.

Re: LIKE ir LOWER()

minde wrote:

Na ieškodamas bet kur jis kartu ieško IR teksto pradžioje, tai jeigu viskas gerai turėtų rasti. Pas jį kažkur kitur problema, tik nežinau kur, gali būt kad kažkur praleido kokią koduotę arba ne visai tiskliai pateikė duomeis.

As rasiau ne problemos priezasti, bet pastebejim, nes jis rase, kad jam reikia ieskoti nuo pradzios (tai kam ieskoti betkur).
O problema greiciausiai ir bus koduoteje, mat jis nepateike nei lauko koduotes, nei koduotes kuria veikia clientine dalis.

Re: LIKE ir LOWER()

Neodan wrote:

As rasiau ne problemos priezasti, bet pastebejim, nes jis rase, kad jam reikia ieskoti nuo pradzios (tai kam ieskoti betkur).

Taip, čia daugiau logikos klaida.


Neodan wrote:

O problema greiciausiai ir bus koduoteje, mat jis nepateike nei lauko koduotes, nei koduotes kuria veikia clientine dalis.

Sako, kad utf8. Dar gali būt, kad jis ne viską parodo, supainiojo duomenų lenteles ar pan. Kitu atveju reikėtų daryti pilną schemos/duomenų dumpą, žiūrėti ar čia ne kokia labai sena MySQL versija ir pan.