Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'te
ambarMicrosoft Fabric'te SQL veritabanı
Bir veritabanı veya tablo sütununun harmanlamasını ya da karakter dizesi ifadesine uygulandığında harmanlama atama işlemini tanımlar. Harmanlama adı bir Windows harmanlama adı veya SQL harmanlama adı olabilir. Veritabanı oluşturma sırasında belirtilmezse, veritabanına SQL Server örneğinin varsayılan harmanlaması atanır. Tablo sütunu oluşturma sırasında belirtilmezse, sütuna veritabanının varsayılan harmanlaması atanır.
Transact-SQL söz dizimi kuralları
Sözdizimi
COLLATE { <collation_name> | database_default }
<collation_name> ::=
{ Windows_collation_name } | { SQL_collation_name }
Bağımsız değişken
collation_name
İfadeye, sütun tanımına veya veritabanı tanımına uygulanacak harmanlamanın adıdır. collation_name yalnızca belirtilen bir Windows_collation_name veya SQL_collation_nameolabilir. collation_name değişmez değer olmalıdır. collation_name bir değişken veya ifadeyle temsil edilemez.
Windows_collation_name, Windows Harmanlama Adıiçin harmanlama adıdır.
SQL_collation_name, SQL Server Harmanlama Adıiçin harmanlama adıdır.
Not
Microsoft Fabric Veri Ambarı'nda, COLLATE deyimindeki SELECT yan tümcesi kısıtlanmamıştır ve desteklenmeyen harmanlamalarla uygulanabilir. Microsoft Fabric Veri Ambarı'nda tüm ambarlar varsayılan olarak büyük/küçük harfe duyarlı (CS) harmanlama Latin1_General_100_BIN2_UTF8ile yapılandırılır. Büyük/küçük harfe duyarlı olmayan (CI) harmanlama ambar oluşturabilirsiniz.
Ancak, yalnızca desteklenen harmanlamalar COLLATE, CREATE TABLE, ALTER TABLE ADD nullable columnve SELECT INTO (CTAS) deyimlerindeki CREATE TABLE AS SELECT yan tümcesiyle kullanılabilir.
database_default Maddenin COLLATE mevcut veritabanının derlemesini devralmasına neden olur.
Açıklamalar
Bu COLLATE madde birkaç düzeyde belirtilebilir. Bunlar şunları içerir:
Veritabanı oluşturma veya değiştirme.
COLLATE Veritabanının varsayılan derlemesini belirtmek için or
ALTER DATABASEifadesinin maddesiniCREATE DATABASEkullanabilirsiniz. SQL Server Management Studio kullanarak veritabanı oluştururken harmanlama da belirtebilirsiniz. Harmanlama belirtmezseniz, veritabanına SQL Server örneğinin varsayılan harmanlaması atanır.Not
Windows Unicode için yapılan derlemeler, yalnızca COLLATE köşe düzeyinde ve ifade düzeyinde verilerde nchar, nvarchar ve ntext veri tiplerine collationlar uygulamak için bu maddeyle kullanılabilir; bunlar, bir veritabanı veya sunucu örneğinin derlemesini tanımlamak veya değiştirmek için clause COLLATE ile kullanılamaz.
Tablo sütunu oluşturma veya değiştirme.
Her karakter dizisi sütunu için or
ALTER TABLEcümlesiniCREATE TABLEkullanarak COLLATE derlemeler belirleyebilirsiniz. SQL Server Management Studio kullanarak tablo oluştururken harmanlama da belirtebilirsiniz. Harmanlama belirtmezseniz, sütuna veritabanının varsayılan harmanlaması atanır.Ayrıca
database_default, geçici bir tablodaki bir sütun, bağlantıtempdbyerine mevcut kullanıcı veritabanının varsayılanını kullanmasını belirtmek için COLLATE cümledeki seçeneği kullanabilirsiniz.bir ifadenin harmanlamasını atama.
Bu maddeyi COLLATE , belirli bir derlemeye karakter ifadesi uygulamak için kullanabilirsiniz. Karakter değişmez değerlerine ve değişkenlere geçerli veritabanının varsayılan harmanlaması atanır. Sütun başvuruları, sütunun tanım harmanlaması atanır.
Tanımlayıcının harmanlanması, tanımlandığı düzeye bağlıdır. Oturum açma bilgileri ve veritabanı adları gibi örnek düzeyindeki nesnelerin tanımlayıcılarına, örneğin varsayılan harmanlaması atanır. Veritabanı içindeki tablolar, görünümler ve sütun adları gibi nesnelerin tanımlayıcılarına veritabanının varsayılan harmanlaması atanır. Örneğin, yalnızca büyük/küçük harfe duyarlı harmanlama içeren bir veritabanında farklı adlara sahip iki tablo oluşturulabilir, ancak büyük/küçük harfe duyarlı olmayan harmanlama içeren bir veritabanında oluşturulamayabilir. Daha fazla bilgi için bkz. Veritabanı Tanımlayıcıları.
Değişkenler, GOTO etiketleri, geçici saklı yordamlar ve geçici tablolar, bağlantı bağlamı bir veritabanıyla ilişkilendirildiğinde ve bağlam başka bir veritabanına geçirildiğinde başvurulduğunda oluşturulabilir. Değişkenler, GOTO etiketleri, geçici saklı yordamlar ve geçici tablolar için tanımlayıcılar, sunucu örneğinin varsayılan harmanlamasındadır.
Bu COLLATE cümle yalnızca char, varchar, text, nchar, nvarchar ve ntext veri türleri için uygulanabilir.
COLLATE collate_name, ifade, sütun tanımı veya veritabanı tanımına uygulanacak SQL Server derlemenin veya Windows derlemenin adını ifade etmek için kullanır. collation_name yalnızca belirtilen bir Windows_collation_name veya SQL_collation_name olabilir ve parametresi değişmez değer içermelidir. collation_name bir değişken veya ifadeyle temsil edilemez.
Harmanlamalar genellikle, Kurulum dışında bir harmanlama adıyla tanımlanır. Kurulum'da, bunun yerine Windows harmanlamaları için kök harmanlama belirticisini (harmanlama yerel ayarı) ve ardından büyük/küçük harfe veya vurgulara duyarlı veya duyarsız sıralama seçeneklerini belirtirsiniz.
Windows harmanlamaları ve SQL Server harmanlamaları için tüm geçerli harmanlama adlarının listesini almak için sistem işlevi fn_helpcollations yürütebilirsiniz:
SELECT name,
description
FROM fn_helpcollations();
SQL Server yalnızca temel işletim sistemi tarafından desteklenen kod sayfalarını destekleyebilir. Harmanlamalara bağlı bir eylem gerçekleştirdiğinizde, başvuruda bulunulmuş nesne tarafından kullanılan SQL Server harmanlaması, bilgisayarda çalışan işletim sistemi tarafından desteklenen bir kod sayfası kullanmalıdır. Bu eylemler şunları içerebilir:
- Veritabanını oluştururken veya değiştirirken veritabanı için varsayılan harmanlama belirtme.
- Tablo oluştururken veya değiştirirken sütun için harmanlama belirtme.
- Veritabanını geri yüklerken veya eklerken, veritabanının varsayılan harmanlaması ve
karakter harmanlaması,varchar ve veritabanındaki sütun veya parametreler metinişletim sistemi tarafından desteklenmelidir.
Not
Kod sayfası çevirileri karakter ve varchar veri türleri için desteklenir, ancak metin veri türü için desteklenmez. Kod sayfası çevirileri sırasında veri kaybı bildirilir.
Belirtilen harmanlama veya başvuruda bulunulmuş nesne tarafından kullanılan harmanlama Windows tarafından desteklenmeyen bir kod sayfası kullanıyorsa, SQL Server bir hata görüntüler.
Örnekler
A. SELECT sırasında harmanlamayı belirtme
Aşağıdaki örnek basit bir tablo oluşturur ve 4 satır ekler. Ardından örnek, tablodan veri seçerken iki harmanlama uygulayarak Chiapas nasıl farklı sıralanacağını gösterir.
CREATE TABLE Locations
(
Place VARCHAR (15) NOT NULL
);
GO
INSERT Locations (Place)
VALUES ('Chiapas'),
('Colima'),
('Cinco Rios'),
('California');
GO
--Apply a 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
-- Using LIKE
SELECT Place FROM Locations
WHERE Place COLLATE Latin1_General_CI_AS LIKE 'C%' ASC;
GO
İlk SELECT sorgusunun sonuçları aşağıdadır.
Place
-------------
California
Chiapas
Cinco Rios
Colima
İkinci SELECT sorgusunun sonuçları aşağıdadır.
Place
-------------
California
Cinco Rios
Colima
Chiapas
Üçüncü SELECT sorgusunun sonuçları aşağıdadır.
Place
-------------
Chiapas
Colima
Cinco Rios
California
B. Ek örnekler
Kullanan COLLATEek örnekler için bkz. CREATE DATABASE ve ALTER TABLE.