Nei sistemi di database, le regole di confronto determinano il modo in cui i dati vengono ordinati e confrontati in un database. Ad esempio, quando esegui una query utilizzando ORDER BY
clausola, confronto determina se le lettere maiuscole e minuscole vengono trattate allo stesso modo.
In SQL Server, le regole di confronto sono specificate a livello di server, di database e di colonna.
Le regole di confronto possono essere applicate anche a un'espressione di stringa di caratteri per applicare un cast di regole di confronto. Ad esempio, puoi utilizzare COLLATE
clausola in un T-SQL SELECT
istruzione per specificare le regole di confronto da utilizzare. In questo modo:
USE Music; SELECT ArtistId, ArtistName FROM Artists ORDER BY ArtistName COLLATE Latin1_General_CI_AI;
Tale confronto utilizza CI
per la distinzione tra maiuscole e minuscole e AI
per insensibili all'accento.
Potremmo cambiarlo in CS
per la distinzione tra maiuscole e minuscole e AS
per l'accento sensibile e i risultati della query possono essere ordinati in modo diverso (a seconda dei dati):
USE Music; SELECT ArtistId, ArtistName FROM Artists ORDER BY ArtistName COLLATE Latin1_General_CS_AS;
Quindi, ciò ti consente di ignorare le regole di confronto applicate a livello di database o colonna durante l'esecuzione di una query.
Puoi utilizzare T-SQL per controllare le regole di confronto del server, del database e di una colonna.