Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara Menemukan Collation di SQL Server (T-SQL)

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perubahan Lisensi Common Sense untuk SQL Server 2014 Standard Edition

  2. Cara Secara Proaktif Mengumpulkan Informasi Fragmentasi Indeks SQL Server

  3. Haruskah MAMP mengembalikan ::1 sebagai IP di localhost?

  4. Menghubungkan ke SQL Server 2012 menggunakan sqlalchemy dan pyodbc

  5. Bisakah saya mendapatkan nama semua tabel database SQL Server di aplikasi C#?