Saya sedang dalam proses memindahkan proyek kesayangan dari PostgreSQL (9.2.2) ke SQL Server (2012 Standard).
Saya telah memperhatikan fenomena menarik ketika menanyakan kata-kata unik. Diberi definisi:
CREATE TABLE [word](
[id] [int] IDENTITY(0,1) NOT NULL,
[value] [nvarchar](255) NULL
);
dan datanya:
insert into word (value) values (N'ῥύπῳ');
insert into word (value) values (N'ἀπὸ');
insert into word (value) values (N'ἀπό');
insert into word (value) values (N'ἐπὶ');
insert into word (value) values (N'ἐπί');
insert into word (value) values (N'ὑπὸ');
insert into word (value) values (N'ὑπό');
insert into word (value) values (N'πίῃ');
insert into word (value) values (N'λόγους');
insert into word (value) values (N'λόγχῃ');
insert into word (value) values (N'λόγων');
insert into word (value) values (N'ἀλόης');
kueri untuk kata tertentu akan kembali mendekati kecocokan. Sebagai contoh:
select * from word where value = N'ἀπὸ'
pengembalian:
id value
102137 ῥύπῳ
102141 ἀπὸ
102142 ἀπό
102143 ἐπὶ
102144 ἐπί
102145 ὑπὸ
102146 ὑπό
102147 πίῃ
http://sqlfiddle.com/#!6/1ab66/1
Namun, pola yang sama di PostgreSQL hanya mengembalikan kecocokan persis. Bagaimana saya bisa mendapatkan SQL Server untuk melakukan hal yang sama?
(Tautan biola PostgreSQL): http://sqlfiddle.com/#!12/c57a6/1
Saya memiliki perasaan yang berbeda bahwa saya kehilangan sesuatu, tetapi saya tidak dapat menemukan apa itu.
Database collation adalah SQL_Latin1_General_CP1_CI_AS
(yang juga merupakan collation server) pada instalasi lokal.