Accent Insensitive


alı yazınca ALİ yi Bulmak


Oracle 10G ve sonrasında case insensive ve accent insensitive özellikleri eklenmiş. Yazdığınız sorgularda büyük küçük harf duyurlığı olmasını istemiyorsanız session seviyesinde değiştirilebilen iki NLS ayarı yardımı ile bu özelliği etkinleştirebilirsiniz.
İşte bahsettiğim iki parametre

  • NLS_COMP

 Collation davranışını belirliyor.

  • NLS_SORT

Sıralama davranışını belirliyor.

Aksan duyarsızlığı ise bir birine yakın telafuz edilen harflerin eşit sayılması olacaktır.

Aksan ve büyük küçük harf duyarsız çalışmak için şu iki ayarı yapmamız lazım.

 
ALTER SESSION SET NLS_COMP=LINGUISTIC;
ALTER SESSION SET NLS_SORT=GENERIC_BASELETTER;
 

işte buda örneğimiz.

 
CREATE TABLE deneme
(
  a1 varchar(20)
);
INSERT INTO deneme(a1)VALUES('Fırat');
INSERT INTO deneme(a1)VALUES('Firat');
INSERT INTO deneme(a1)VALUES('Şeyda');
INSERT INTO deneme(a1)VALUES('SEYDA');
INSERT INTO deneme(a1)VALUES('ALİ');
INSERT INTO deneme(a1)VALUES('alı');
INSERT INTO deneme(a1)VALUES('OSMAN');
INSERT INTO deneme(a1)VALUES('ÖSMAN');
 

deneme yapmak için aşağıdaki sorguları çalıştıralım.

 
SELECT * FROM deneme WHERE a1 LIKE 'Ş%'
 
A1
şeYda
sEyda
 
SELECT * FROM deneme WHERE a1 = 'ali'
 
A1
ALİ
alı

Alı yazınca ALİ kelimesini bulmakla ilgileniyorsanız bunları bir deneyin. :)

    • No Related Post
bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark
tabs-top

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment