SORTOWANIE (Transact-SQL)
Jest można stosować do definicji bazy danych lub definicji kolumna w celu zdefiniowania sortowanielub ciągznakówwyrażenie zastosować oddanych sortowanie klauzula .
Składnia
COLLATE { <collation_name> | database_default }
<collation_name> :: =
{ Windows_collation_name } | { SQL_collation_name }
Argumenty
collation_name
Jest nazwą sortowanie stosowanej do wyrażenie, definicji kolumna lub definicja bazy danych.collation_namemoże być tylko określony Windows_collation_name lub SQL_collation_name.collation_namewartość literału musi być.collation_namenie może być reprezentowany przez zmienna lub wyrażenie.Windows_collation_namejest to nazwa sortowanie dla Windows Collation nazwę.
SQL_collation_namejest to nazwa sortowanie dla Nazwa sortowaniaSQL Server.
Stosując sortowanie na definicji bazy danych poziomsortowania systemu Windows tylko standardu Unicode nie można używać z klauzulaCOLLATE.
database_default
Powoduje, że klauzula COLLATE dziedziczenie sortowanie bieżącej bazy danych.
Uwagi
klauzula COLLATE może być określona na kilku poziomach.Należą do nich:
Tworzenie lub zmienianie bazy danych.
Aby określić domyślne sortowanie bazy danych, można użyć klauzula COLLATE tworzenie bazy danych lub instrukcja ALTER DATABASE.Można także określić sortowanie podczas tworzenia bazy danych za pomocą SQL Server Management Studio.sortowanienie jest określony, bazy danych jest przypisany domyślny sortowanie wystąpienie SQL Server.
Ostrzeżenie
Sortowanie tylko standardu Unicode w systemie Windows należy używać tylko z klauzula COLLATE zastosowanie ustawień sortowania do nchar, nvarchar, i ntext typów danych w kolumna-poziom i wyrażenie— danepoziom ; nie mogą one używane z klauzula COLLATE zmiany sortowanie bazy danych lub serwera wystąpienie.
Tworzenie lub zmienianie tabela kolumna.
Można określić ustawienia sortowania dla każdego ciągznakówkolumna przy użyciu klauzula COLLATE instrukcjaALTER TABLE lub CREATE TABLE. Można także określić sortowanie podczas tworzenia tabela za pomocą SQL Server Management Studio.sortowanienie jest określony, kolumna jest przypisywana domyślne sortowanie bazy danych.
Można również użyć database_default opcji w klauzula COLLATE wskazanie kolumna w tabela tymczasowej domyślny sortowanie bieżącej baza danych użytkownika dla połączenia, zamiast tempdb.
Rzutowanie wyrażenie sortowanie .
Zastosowanie do niektórych sortowanieznaków wyrażenie można użyć klauzula COLLATE.Literały ciągów znaków i zmienne są przypisane domyślnie sortowanie bieżącej bazy danych.Odwołania do kolumn są przypisywane definicja sortowanie kolumna.Aby sortowanie wyrażenie, zobacz Priorytet sortowania języka Transact-SQL).
Identyfikator sortowanie zależy od poziom , na którym jest zdefiniowana.Identyfikatory wystąpienie-poziom obiektów, takich jak nazwy bazy danych i logowania do przypisywane są domyślne sortowanie wystąpienie.Identyfikatory obiektów w bazie danych, takich jak tabele, widoki i nazwy kolumna są przypisane domyślnie sortowanie bazy danych.Na przykład dwie tabele z nazwami różnych tylko w przypadek może zostać utworzony w bazie danych w przypadek-wielkość liter sortowanie, ale może nie zostać utworzony w bazie danych w przypadek-niewrażliwe sortowanie.Aby uzyskać więcej informacji, zobacz Identyfikatory.
Zmienne, przejdź do etykiety, tymczasowych procedur przechowywanych i tabel tymczasowych mogą być tworzone podczas połączenia kontekstu jest skojarzony z jedną bazą danych, a potem przywoływany podczas kontekście został przełączony do innej bazy danych.Identyfikatory zmiennych, przejdź do etykiety, tymczasowych procedur przechowywanych i tabel tymczasowych są domyślnie sortowanie wystąpienieserwera.
klauzula COLLATE mogą być stosowane tylko dla char, varchar, text, nchar, nvarchar, i ntext typów danych.
SORTUJ zastosowań collate_name do odwoływania się do nazwy sortowanie SQL Server lub Windows sortowanie stosowanego do wyrażenie, definicja kolumna lub definicji bazy danych.collation_namemoże być tylko określony Windows_collation_name lub SQL_collation_name i parametr musi zawierać wartość literału.collation_namenie może być reprezentowany przez zmienna lub wyrażenie.
Metody sortowania są ogólnie identyfikowane przez nazwę sortowanie z wyjątkiem w konfiguracji.W konfiguracji zamiast określać opisie sortowanie katalogu głównego ( sortowanie ustawienia regionalne) metody sortowania systemu Windows, a następnie określ opcje sortowania, które są wrażliwe lub niewrażliwe na przypadek i akcentów.
Można wykonać funkcjasystemowejfn_helpcollations do pobierania listy wszystkich nazw prawidłowe sortowanie sortowania systemu Windows i ustawień sortowania programu SQL Server:
SELECT *
FROM fn_helpcollations()
SQL Servermoże obsługiwać tylko strony kodowe obsługiwane przez system operacyjny.Podczas wykonywania akcja , która zależy od ustawień sortowania, SQL Server sortowanie używany przez obiekt, do którego istnieje odwołanie, należy używać strona kodowa obsługiwane przez system operacyjny na komputerze.Działania te mogą obejmować:
Określanie domyślnego sortowanie dla bazy danych podczas tworzenia lub zmiany bazy danych.
Określanie sortowanie dla kolumna , podczas tworzenia lub zmienianie tabela.
Podczas przywracania lub dołączania bazy danych, domyślne sortowanie bazy danych i sortowanie wszelkich char, varchar, i text kolumn lub parametrów w bazie danych muszą być obsługiwane przez system operacyjny.
Kod strona tłumaczenia są obsługiwane dla char i varchar typów danych, ale nie text typu danych.Nie zgłoszono utraty danych podczas tłumaczenia strona kodowa .
Jeśli sortowanie określone lub sortowanie , używany przez obiekt, do którego nastąpiło odwołanie używa strona kodowa nie są obsługiwane przez system Windows, SQL Server wyświetla błąd.
Przykłady
A.Określanie sortowanie podczas select
Poniższy przykład tworzy prostą tabela i wstawia wiersze 4.Przykład dotyczy dwóch ustawień sortowania podczas wybierania danych z tabela, a następnie wykazujące jak Chiapas są sortowane inaczej.
CREATE TABLE Locations
(Place varchar(15) NOT NULL);
GO
INSERT Locations(Place) VALUES ('Chiapas');
INSERT Locations(Place) VALUES ('Colima');
INSERT Locations(Place) VALUES ('Cinco Rios');
INSERT Locations(Place) VALUES ('California');
GO
--Apply an typical collation
SELECT Place FROM Locations
ORDER BY Place
COLLATE Latin1_General_CS_AS_KS_WS ASC;
GO
-- Apply a Spanish collation
SELECT Place FROM Locations
ORDER BY Place
COLLATE Traditional_Spanish_ci_ai ASC;
GO
B.Dodatkowe przykłady
Dodatkowe przykłady, które korzystają z COLLATE, zobacz Tworzenie bazy danych (Transact-SQL) przykład G. Tworzenie bazy danych i określając opcje Nazwa sortowanie i, i ALTER TABLE (Transact-SQL) przykład V. Zmiana kolumna sortowanie.