MySQL: délka řetězce a nefunkční strlen()
V databázi máme například jména. Chceme získat všechna jména, která jsou kratší než 7 znaků. Jak na to?
Známá funkce strlen() v MySQL neexistuje, zato můžeme použít funkci CHAR_LENGTH().
Příklad s CHAR_LENGTH()
SELECT `jmeno`,`prijmeni`
FROM `uzivatel`
WHERE CHAR_LENGTH(`jmeno`)<7
CHAR_LENGTH() , LENGTH() a UTF-8
Pokud máme řetězec s 5 multi-byte znaky, tak funkce CHAR_LENGTH() vrací 5 znaků. Multi-byte znak počítá jako jeden. Kdežto funkce LENGTH() vrátí 10 znaků.