sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man anger sorteringen i en fråga i SQL Server (T-SQL)

I databassystem avgör sortering hur data sorteras och jämförs i en databas. Till exempel när du kör en fråga med ORDER BY sats, bestämmer sortering om versaler och gemener behandlas på samma sätt eller inte.

I SQL Server anges sortering på servernivå, databasnivå och kolumnnivå.

Sortering kan också tillämpas på ett teckensträngsuttryck för att tillämpa en sorteringscast. Du kan till exempel använda COLLATE sats i en T-SQL SELECT uttalande för att specificera sorteringen som ska användas. Så här:

USE Music;
SELECT ArtistId, ArtistName
FROM Artists
ORDER BY ArtistName COLLATE Latin1_General_CI_AI;

Den sammanställningen använder CI för skiftlägesokänslig och AI för accentokänslig.

Vi kan ändra det till CS för skiftlägeskänsliga och AS för accentkänsliga, och frågeresultaten kan sorteras olika (beroende på data):

USE Music;
SELECT ArtistId, ArtistName
FROM Artists
ORDER BY ArtistName COLLATE Latin1_General_CS_AS;

Så detta låter dig åsidosätta sorteringen som tillämpas på databas- eller kolumnnivå när du kör en fråga.

Du kan använda T-SQL för att kontrollera sorteringen av servern, databasen och en kolumn.


  1. Ett sätt att få en indexsökning för ett ledande %jokertecken

  2. ASCII()-exempel – MySQL

  3. Skapa ett ER-diagram i pgAdmin

  4. Vilken .NET-datatyp är bäst för att kartlägga datatypen NUMBER Oracle i NHibernate?