NLS_UPPER & NLS_LOWER


Oracleda büyük ve küçük harf çevirimlerinde her zaman UPPER ve LOWER fonksiyonlarını kullanarak istediğimiz sonuç alamayabiliriz. Özellikle ulusal dillerde olan özel karakterlerde UPPER ve LOWER fonksiyonları istenen sonuçları vermez. Örneğin;

SELECT UPPER (‘i’)   FROM DUAL;

U

I
1 row selected.

SELECT LOWER(‘I’)   FROM DUAL;

L

i
1 row selected.

ilk sorguyu çalıştırdığımızda dönen sonucun İ olmasını bekler bize I olarak döner.  İkinci sorguda yine benzer şekilde ı dönmesini beklerken oracle bize i olarak geri dönüş verir. Bu gibi durumlarda dönüşümleri oracle yerel karaktersetine göre yapmaktadır. Yerel karaktersete özgü büyük ve küçük harf dönüşümleri için NLS_UPPER ve NLS_LOWER fonksiyonlarını kullanmalıyız.  NLS_UPPER ve NLS_LOWER kullanımında ise dönüşüm yapılacak dili NLS_SORT ile belirtiriz.

SELECT NLS_UPPER (‘i’, ‘NLS_SORT =xturkish’) FROM DUAL;
N

I
1 row selected.

SELECT NLS_LOWER (‘I’, ‘NLS_SORT =xturkish’) FROM DUAL;

N

ı
1 row selected.

30 Nisan 2012 tarihinde veri madenciliği, veri tabanları içinde yayınlandı ve , olarak etiketlendi. Kalıcı bağlantıyı yer imlerinize ekleyin. Yorum yapın.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: