sql >> Databasteknik >  >> RDS >> Sqlserver

Kan inte lösa sorteringskonflikt

Grejen med sammanställningar är att även om databasen har sin egen sammanställning, kan varje tabell och varje kolumn ha sin egen sammanställning. Om det inte anges tar det standardinställningen för sitt överordnade objekt, men kan vara annorlunda.

När du ändrar sortering av databasen kommer det att vara den nya standarden för alla nya tabeller och kolumner, men det ändrar inte sorteringen av befintliga objekt i databasen. Du måste gå och ändra manuellt sorteringen av varje tabell och kolumn.

Lyckligtvis finns det skript tillgängliga på internet som kan göra jobbet. Jag kommer inte att rekommendera några eftersom jag inte har provat dem men här är några länkar:

http://www.codeproject.com/Articles/302405/The-Easy-way-of-changing-Collation-of-all-Database

Uppdatera Samling av alla fält i databasen i farten

http://www.sqlservercentral.com/Forums/Topic820675-146-1.aspx

Om du behöver ha olika sortering på två objekt eller inte kan ändra sortering - kan du fortfarande JOIN mellan dem med COLLATE kommandot och välj den sortering du vill ansluta till.

SELECT * FROM A JOIN B ON A.Text = B.Text COLLATE Latin1_General_CI_AS 

eller med standarddatabassortering:

SELECT * FROM A JOIN B ON A.Text = B.Text COLLATE DATABASE_DEFAULT



  1. SQL ansluter

  2. PostgreSql :Json Array till rader med hjälp av Lateral Join

  3. Hur man jämför datetime med endast datum i SQL Server

  4. Vad är logisk OCH operatör i SQL Server - SQL Server / TSQL Tutorial Del 120