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
Collation davranışını belirliyor.
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 'Ş%'
SELECT * FROM deneme WHERE a1 = 'ali'
Alı yazınca ALİ kelimesini bulmakla ilgileniyorsanız bunları bir deneyin.
No comments yet.
RSS feed for comments on this post. TrackBack URL