Apa Istilah Collation Dalam Database?

2014 October 9 at 3:02 pm Leave a comment

Collation, sederhananya adalah cara mengurutkan “Order” berdasarkan bobot setiap karakter.
Untuk lebih jelasnya, berikut tabel yang menunjukan hasil pengurutan “Order By” dengan berbeda Collation.

latin1_swedish_ci latin1_german1_ci latin1_german2_ci
Muffler Muffler Müller
MX Systems Müller Muffler
Müller MX Systems MX Systems
MySQL MySQL MySQL

Collation, di-setting di berbagai level yang bisa diwariskan ke level bawahnya( Instance – Database – Table – Column). Ketika Menginstall Instance kita menetukan Default Collation. Dan Setiap kali kita buat Database kita dapat menentukan default Collation, jika tidak dientukan maka Default Collation Instance untuk database adalah Default Collation dari Instance. Begitu seterusnya untuk table dan Column .

Beberapa referensi tentang Collation:

  1. Collation-MYSQL,
  2. Contoh penggunaan di MYSQL
  3. PostgreSQL
  4. Oracle
  5. Collation-MSSQL

Dampak: Perbedaan Collation bisa menimbulkan error ketika dibandingkan, semisal dalam query JOIN TABLE,

Berikut contoh query dan error yang ditimbulkan, penyebabnya, dan cara mengatasinya di MSSQL:
Query Error
SELECT A.EmpId, A,EmpName, B.Userid FROM MTPersonnel AS A JOIN DTAbsensi AS B ON A.empId=B.Userid; Msg 468, Level 16, State 9, Line 3
Cannot resolve the collation conflict between “Chinese_PRC_CI_AS” and “SQL_Latin1_General_CP1_CI_AS” in the equal to operation.
Penyebabnya:
Adanya perbedaan Collation atas dua Column yang dibandingkan(MTPersonnel.EmpId & DTAbsensi.Userid):
Column Collation
MTPersonnel.EmpId SQL_Latin1_General_CP1_CI_AS
DTAbsensi.Userid Chinese_PRC_CI_AS
Mengatasinya:
Query harus sedikit dimodifikasi dengan menambahkan COLLATE diikuti Collation_Name “menyamakan collation untuk kedua column”
SELECT A.EmpId, A,EmpName, B.Userid FROM MTPersonnel AS A JOIN DTAbsensi AS B ON A.empId COLLATE Chinese_PRC_CI_AS =B.Userid;

Entry filed under: Database, MSSQL, MYSQL, Oracle. Tags: , , , , , , , .

Aggregate Query, dan Penggunaan Function pada SAP ABAP SAP Create and Maintain Dictionary-Table

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Categories


%d bloggers like this: