Pengumpulan dapat ditentukan pada tingkat server, tingkat basis data, tingkat kolom, tingkat ekspresi, dan tingkat pengenal. Metode yang berbeda diperlukan untuk masing-masing metode ini.
Pengumpulan Tingkat Server
Berikut cara menemukan susunan level server:
SELECT CONVERT (varchar, SERVERPROPERTY('collation')) AS 'Server Collation';
Ini mengembalikan susunan seperti ini:
Server Collation ---------------------------- SQL_Latin1_General_CP1_CI_AS
Anda juga dapat menggunakan sp_helpsort
prosedur tersimpan untuk mengembalikan susunan default untuk server:
EXECUTE sp_helpsort;
Ini mengembalikan susunan seperti ini:
Server default collation ---------------------------- Latin1-General, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive for Unicode Data, SQL Server Sort Order 52 on Code Page 1252 for non-Unicode Data
Pengumpulan Tingkat Basis Data
Jalankan kueri berikut untuk mengembalikan pemeriksaan database tertentu. WHERE
klausa memungkinkan Anda mempersempit hasil ke database yang Anda minati:
SELECT name, collation_name FROM sys.databases WHERE name = 'Music';
Ini menghasilkan sesuatu seperti ini:
name collation_name ----- ---------------------------- Music SQL_Latin1_General_CP1_CI_AS
Dalam hal ini, kami menentukan database yang disebut Music
.
Anda juga dapat menggunakan DATABASEPROPERTYEX()
fungsi untuk mengembalikan susunan default untuk database:
SELECT DATABASEPROPERTYEX('Music', 'Collation') AS Collation;
Pengumpulan Tingkat Kolom
Pengumpulan juga dapat ditentukan pada tingkat kolom. Untuk mengetahui susunan apa yang digunakan kolom tertentu, jalankan kueri terhadap sys.columns
. Seperti ini:
SELECT name, collation_name FROM sys.columns WHERE name = N'ArtistName';
Ini menghasilkan sesuatu seperti ini:
name collation_name ---------- ---------------------------- ArtistName SQL_Latin1_General_CP1_CI_AS
Kolasi Tingkat Ekspresi dan Pengenal
Susunan dapat diterapkan ke ekspresi string karakter untuk menerapkan susunan susunan. Misalnya, Anda dapat menggunakan COLLATE
klausa dalam SELECT
pernyataan untuk menentukan susunan yang akan digunakan. Seperti ini:
USE Music; SELECT ArtistId, ArtistName FROM Artists ORDER BY ArtistName COLLATE Latin1_General_CI_AI;
Susunan itu menggunakan CI
untuk case-insensitive, dan AI
untuk aksen yang tidak sensitif.
Kita bisa mengubahnya menjadi CS
untuk case-sensitive, dan AS
untuk aksen-sensitif, dan hasil kueri dapat diurutkan secara berbeda (bergantung pada data):
USE Music; SELECT ArtistId, ArtistName FROM Artists ORDER BY ArtistName COLLATE Latin1_General_CS_AS;
Jadi, ini memungkinkan Anda untuk mengganti susunan yang diterapkan di database atau tingkat kolom saat menjalankan kueri.