sql >> Databáze >  >> RDS >> Sqlserver

Jak nastavit řazení sloupce na SQL Server (T-SQL)

Ve výchozím nastavení používá každý sloupec v databázi SQL Server řazení, které bylo zadáno na úrovni databáze. A ve výchozím nastavení je řazení databáze převzato z řazení na serveru. Tato nastavení řazení však lze přepsat, a to jak na úrovni databáze, tak na úrovni sloupců, a to explicitním nastavením řazení na této úrovni.

Tato stránka ukazuje, jak určit řazení sloupce. Kompletaci můžete nastavit přidáním T-SQL COLLATE klauzule do CREATE TABLE a ALTER TABLE prohlášení. Při použití těchto příkazů definujete sloupec a jeho vlastnosti, včetně nastavení řazení. COLLATE klauzule je volitelná, takže pokud ji nezahrnete, sloupec jednoduše použije výchozí řazení databáze.

Nastavte řazení

Zde je příklad určení řazení při vytváření tabulky:

CREATE TABLE Tasks (
    TaskId int IDENTITY(1,1) NOT NULL PRIMARY KEY,
    TaskName nvarchar(255) COLLATE French_CI_AI NOT NULL
);

Tím se vytvoří tabulka s názvem Tasks se dvěma sloupci. Nastavíme řazení druhého sloupce (TaskName ) na French_CI_AI . Pokud bychom to neudělali, použilo by se výchozí řazení databáze.

Změňte řazení

V tomto dalším příkladu změním řazení sloupce na Modern_Spanish_CI_AI_WS :

ALTER TABLE Tasks ALTER COLUMN TaskName
    nvarchar(255) COLLATE Modern_Spanish_CI_AI_WS NOT NULL
GO

Všimněte si, že nemůžete změnit řazení sloupce, na který odkazuje některý z následujících:

  • Vypočítaný sloupec
  • Index
  • Statistiky distribuce
  • A CHECK omezení
  • FOREIGN KEY omezení

Zkontrolujte řazení

Pokud používáte SSMS, můžete zkontrolovat řazení libovolného sloupce kliknutím pravým tlačítkem na daný sloupec v prohlížeči objektů a výběrem Properties .

V Transact-SQL existuje několik různých způsobů, jak vrátit řazení sloupců. Zde je návod, jak zkontrolovat řazení sloupce pomocí T-SQL.


  1. Aktualizovat tabulku pomocí JOIN na SQL Server?

  2. Nelze najít sloupec dbo nebo uživatelem definovanou funkci nebo agregaci dbo.Splitfn nebo je název nejednoznačný

  3. Získejte podřetězec v SQL Server

  4. IntentService zamrzá uživatelské rozhraní mé aplikace