Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
SQLite používá kolace při porovnávání textových hodnot k určení pořadí a ekvivalence. Můžete určit, která kolace se má použít při vytváření sloupců nebo operací v dotazech SQL. SQLite ve výchozím nastavení obsahuje tři kompletující sekvence.
| Srovnání | Popis |
|---|---|
| RTRIM | Ignoruje koncové prázdné znaky. |
| BEZ PÍSMEN | Nerozlišuje malá a velká písmena pro znaky ASCII A-Z |
| BINÁRNÍ | Rozlišují se malá a velká písmena. Porovnává bajty přímo |
Vlastní kolace
Můžete také definovat vlastní kompletující sekvence nebo přepsat předdefinované sekvence pomocí CreateCollation. Následující příklad ukazuje překonfiguraci kolace NOCASE pro podporu znaků Unicode. Úplný ukázkový kód je k dispozici na GitHubu.
connection.CreateCollation("NOCASE", (x, y) => string.Compare(x, y, ignoreCase: true));
var queryCommand = connection.CreateCommand();
queryCommand.CommandText =
@"
SELECT count()
FROM greek_letter
WHERE value = 'λ' COLLATE NOCASE
";
var oCount = queryCommand.ExecuteScalar();
var count = (oCount is not null) ? (int)oCount : -1;
Operátor Like
Operátor LIKE v SQLite nerespektuje kolace. Výchozí implementace má stejnou sémantiku jako kolace NOCASE. Nerozlišuje malá a velká písmena pouze pro znaky ASCII od A do Z.
Pomocí následujícího příkazu pragma můžete snadno rozlišovat velká a malá písmena u operátoru LIKE:
PRAGMA case_sensitive_like = 1
Podrobnosti o přepsání implementace operátoru LIKE najdete v tématu Uživatelem definované funkce .
Viz také
- Uživatelem definované funkce
- syntaxe SQL