29 Kasım 2011 Salı

Oracle PL/SQL Soru & Cevaplar I: String bir değerin alfanumerik karakter içerip içermediğini test etmek.

Soru: Oracle da string bir değerin alfanumerik karakterler içerip içermediğini nasıl test ederiz?

Cevap: Bir stringi alfanumerik karakterler için test etmek için LENGHT, TRIM ve TRANSLATE fonksiyonlarını birlikte kullanarak test işlemi için bir inline fonksiyon yazabiliriz.


Bu işlem için aşağıdaki fonksiyon kullanılabilir:
LENGTH(TRIM(TRANSLATE(string_deger, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+-.0123456789', ' ')))


string_deger burada sizin kontrol etmek istediğiniz değeri içeren bir string olacaktır. Fonksiyon eğer test ettiğiniz değer alfanumerik ise NULL değer dönecektir, eğer test ettiğiniz veri içerisinde alfanumerik olmayan bir karakter var ise 0 dan büyük olan bir sayı dönecektir.

Örneğin:

select LENGTH(TRIM(TRANSLATE('Veri tabani notlarim!!', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+-.0123456789', ' '))) from dual;

Sorgusu, string içerisinde 2 tane ! işareti bulunduğundan 2 değerini dönecektir.


select LENGTH(TRIM(TRANSLATE('Veri tabani notlarim', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+-.0123456789', ' '))) from dual;

Sorgusu ise NULL değer dönecektir.

Hiç yorum yok:

Yorum Gönder

Popüler Yayınlar