Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Sorteringssekvenser används av SQLite vid jämförelse av TEXT-värden för att fastställa ordning och likhet. Du kan ange vilken sortering som ska användas när du skapar kolumner eller per åtgärd i SQL-frågor. SQLite innehåller tre sorteringssekvenser som standard.
| Sammanställning | Beskrivning |
|---|---|
| RTRIM | Ignorerar avslutande blanksteg |
| Ingen skiftlägeskänslighet | Skiftlägesokänsligt för ASCII-tecken A-Z |
| BINÄR | Skiftlägeskänsligt. Jämför byte direkt |
Anpassad sortering
Du kan också definiera egna sorteringssekvenser eller åsidosätta de inbyggda med hjälp av CreateCollation. I följande exempel visas åsidosättande av NOCASE-sortering för att stödja Unicode-tecken. Den fullständiga exempelkoden är tillgänglig på GitHub.
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;
Likeoperator
LIKE-operatorn i SQLite respekterar inte sortering. Standardimplementeringen har samma semantik som NOCASE-sortering. Det är bara skiftlägesokänsligt för ASCII-tecknen A till Z.
Du kan enkelt göra LIKE-operatorn skiftlägeskänslig med hjälp av följande pragmainstruktion:
PRAGMA case_sensitive_like = 1
Mer information om hur du åsidosätter implementeringen av LIKE-operatorn finns i Användardefinierade funktioner .