HARMANLAMA (Transact-sql)
Veritabanı tanım ya da harmanlama tanımlamak için sütun tanım veya bir harmanlama döküm uygulamak için karakter dize ifadesi için uygulanabilir bir yan var.
Transact-SQL Sözdizim Kuralları
Sözdizimi
COLLATE { <collation_name> | database_default }
<collation_name> :: =
{ Windows_collation_name } | { SQL_collation_name }
Bağımsız değişkenler
collation_name
İfade, sütun tanımı veya veritabanı tanım uygulanacak harmanlama adıdır. collation_nameolabilir sadece belirli bir Windows_collation_nameya da bir SQL_collation_name. collation_namehazır bilgi değeri olmalıdır. collation_namebir değişken veya ifade gösterilemez.Windows_collation_nameharmanlama adı bir Windows harmanlaması adı.
SQL_collation_nameharmanlama adı bir SQL Server alfabe düzeni adı.
Bir harmanlama veritabanı tanım düzeyinde uygularken, Windows yalnızca Unicode alfabe collate yan tümcesi ile kullanılamaz.
database_default
collate yan tümcesini geçerli veritabanı harmanlama devralmak neden olur.
Açıklamalar
collate yan tümcesini, çeşitli düzeylerde belirtilebilir. Bunlar aşağıdakileri içerir:
Oluşturma veya bir veritabanını değiştirme.
Veritabanının varsayılan harmanlama belirlemek için database create veya alter database deyimi collate yan tümcesini kullanabilirsiniz. Kullanarak bir veritabanı oluşturduğunuzda bir harmanlama belirtebilirsiniz SQL Server Management Studio. Bir harmanlama belirtmezseniz veritabanı örneği varsayılan harmanlama atanır SQL Server.
[!NOT]
Windows yalnızca Unicode alfabe yalnızca kullanılabilir collate yan tümcesi ile alfabe için nchar, nvarchar, ve ntextveri türlerinde sütun düzeyi ve ifade düzeydeki verileri; onlar ile collate yan tümcesini harmanlama veritabanı veya sunucu örneği değiştirmek için kullanılamaz.
Oluşturma veya değiştirme tablo sütun.
Alfabe collate yan tümcesini create table veya alter table deyimi kullanarak her karakter dize sütun belirtebilirsiniz. Bir tablo kullanarak oluşturduğunuz bir harmanlama belirtebilirsiniz SQL Server Management Studio. Bir harmanlama belirtmezseniz, sütuna veritabanının varsayılan harmanlama atanır.
Ayrıca database_defaultseçeneğini geçici bir tablo sütununda yerine bağlantı için geçerli kullanıcı veritabanı harmanlama varsayılan kullanacağını belirtmek için collate yan tümcesi tempdb.
Bir ifade harmanlama döküm.
collate yan tümcesini, belirli bir harmanlama için karakter ifade uygulamak için kullanabilirsiniz. Karakter rakamları ve değişkenler geçerli veritabanının varsayılan harmanlama atanır. Sütun başvuruları sütun tanımı harmanlama atanır.
Tanımlayıcı harmanlama tanımlandığı düzeyine bağlıdır. Oturum açma ve veritabanı adları gibi örnek düzeyi nesne tanımlayıcıları örneği varsayılan harmanlama atanır. Tablolar, görünümler ve sütun adları, örneğin bir veritabanı içinde nesne tanımlayıcıları, veritabanının varsayılan harmanlama atanır. Örneğin, iki tablo ile yalnızca bir veritabanı ile büyük küçük harf duyarlı harmanlamayı oluşturulabilir halinde farklı isimler, ancak bir veritabanı ile duyarlı harmanlamayı oluşturulmayabilir. Daha fazla bilgi için, bkz. Veritabanı tanımlayıcıları.
Bağlantı içerik bir veritabanı ile ilişkili ve başka bir veritabanı bağlamı anahtarlı sonra başvuruda bulunulan değişkenleri, goto etiket, geçici saklı yordamlar ve geçici tablolar oluşturulabilir. Değişkenler, goto etiket, geçici saklı yordamlar ve geçici tablolar için sunucu örneği varsayılan harmanlama tanımlayıcılardır.
collate yan tümcesi yalnızca uygulanabilir char, varchar, text, nchar, nvarchar, ve ntextveri türlerini.
collate kullanır collate_namesql Sunucu harmanlaması ya da ifade, sütun tanımı veya veritabanı tanım uygulanacak Windows harmanlaması adı başvurmak için. collation_nameolabilir sadece belirli bir Windows_collation_nameya da bir SQL_collation_nameparametresi bir hazır bilgi değeri içermelidir. collation_namebir değişken veya ifade gösterilemez.
Alfabe genellikle bir harmanlama adı tarafından dışında Kurulumu'nda tanımlanır. Kur yerine Windows harmanlamaları kök harmanlama göstergesi (harmanlama Yerel) belirtin ve sonra hassas veya davası veya aksan büyük küçük harf duyarlı sıralama seçeneklerini belirtin.
Sistem işlevi yürütebilirsiniz fn_helpcollations Windows harmanlamalar ve SQL Server alfabe için tüm geçerli harmanlama adlarının bir listesini almak için:
SELECT name, description
FROM fn_helpcollations();
SELECT name, description
FROM fn_helpcollations();
SQL Serverişletim sistemi tarafından desteklenen kod sayfalarını destekler. Alfabe üzerinde bağlıdır bir eylem gerçekleştirdiğinizde SQL Serverbaşvurulan nesne tarafından kullanılan harmanlamayı bilgisayar üzerinde çalışan işletim sistemi tarafından desteklenen bir kod sayfası kullanmalıdır. Bu eylemler aşağıdakileri içerebilir:
Oluşturduğunuzda ya da alter database veritabanı için varsayılan harmanlama belirtme.
Oluşturduğunuzda veya bir tablo değiştirme sütun için bir harmanlama belirtme.
Geri yükleme ya da bir veritabanını, veritabanının varsayılan harmanlama ve harmanlama herhangi bir ekleme char, varchar, ve textsütun veya parametre veritabanı gerekir desteklenen işletim sistemi tarafından.
Kod sayfası çevirileri için desteklenen charve varcharveri türleri için değil textveri türü. Kod sayfası çevirileri sırasında veri kaybı rapor değildir.
Belirtilen harmanlama veya başvurulan nesne tarafından kullanılan harmanlamayı Windows tarafından desteklenmeyen bir kod sayfası kullanıyorsa, SQL Serverbir hata görüntüler.
Örnekler
A.Seçme sırasında harmanlama belirtme
Aşağıdaki örnek, basit bir tablo oluşturur ve 4 satır ekler. Örneğin iki alfabe tablosundan veri seçmek uygular sonra göstererek nasıl Chiapasfarklı sıralanır.
CREATE TABLE Locations
(Place varchar(15) NOT NULL);
GO
INSERT Locations(Place) VALUES ('Chiapas'),('Colima')
, ('Cinco Rios'), ('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
CREATE TABLE Locations
(Place varchar(15) NOT NULL);
GO
INSERT Locations(Place) VALUES ('Chiapas'),('Colima')
, ('Cinco Rios'), ('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
Burada ilk sorgunun sonuçları vardır.
Place
-------------
California
Chiapas
Cinco Rios
Colima
İkinci sorgu sonuçları burada bulunmaktadır.
Place
-------------
California
Cinco Rios
Colima
Chiapas
B.Ek örnekler
Kullandığınız ek örnekler için COLLATEbakın Veritabanı (Transact-sql) oluşturörnek g. Veritabanı oluşturma ve bir harmanlama adı ve seçenekleri belirtme, ve ALTER TABLE (Transact-SQL)örnek f. Sütun harmanlama değiştirme.
Ayrıca bkz.
Başvuru
Harmanlama önceliği (Transact-sql)
Veritabanı (Transact-sql) oluştur
DECLARE @local\_variable (Transact-SQL)