SQL dotaz a diakritika   zodpovězená otázka

SQL

Jak mám napsat klauzuli WHERE v SQL dotazu, aby se mi textové pole prohledávalo bez ohledu na diakritiku. Např. zadám text "salek" a nalezne se mi "šálek", "sálek" atd.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pomocí collations. Ty určují způsob řazení a srovnávání.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Problém je v tom, že pro češtinu MS SQL neobsahuje žádný vhodný collation, který by norozlišoval velká a malá písmena ani diakritiku. Na první pohled by se mohlo zdát, že je to Czech_CI_AI, ale ten nerozlišuje pouze čárky (a=á), ale háčky jsou různá písemna (š<>s).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To máte zcela pravdu. Právě onen 'akcent' (v našem případě Czech_CI_AI - Czech dictionary, case insensitive, accent insensitive) znemená opravdu jen čárku nad písmeny - trochu škoda, že tohle není v SQL Serveru domyšlené. Ale pořád lepší než dřívější verze, které neuměli ani tu čárku.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback