Herkese merhaba,
Bu yazıda SQL Server’da ISNUMERIC fonksiyonu yerine TRY_PARSE fonksiyonu kullanmak ile ilgili bilgi vermeye çalışacağım.
SQL Server’da özelleştirilmiş fonksiyonları kullanmayanımız yoktur. Bu fonksiyonlar çoğu zaman hayat kolaylaştırır ancak bir o kadar da işinize yaramayabilir.
Bu yazıda oluşturulmuş olan özelleştirilmiş fonksiyonlarda dikkat edilmesi gereken noktalardan bahsedeceğim.
ISNUMERIC fonksiyonu verilen değerin sayısal bir ifade olup olmadığını kontrol etmek için kullanılır. Kullanımı : ISNUMERIC (ifade) şeklindedir. eğer ifade sayısal ise sorgu sonucu 1 döner diğer durumda 0 döner.
Aşağıdaki sorguyu inceleyelim.
Yukarıdaki sorguyu çalıştırdığınızda aşağıdakine benzer bir sonuç göreceksiniz.
Yukarıdaki sonuca dikkat edersek ISNUMERIC fonksiyonu bazı karakterleri de sayısal olarak ele alır. Örneğin: – (eksi), + (artı), $ (dolar), \ (ters eğik çizgi).
Yukarıda “abc” değeri için “0” ve geri kalan sütun değerleri için “1” değerini döndürür. Aslında bu bir hatadır. Bu nedenle, ISNUMERIC fonksiyonunu kullanırken çok dikkatli olmamız ve T-SQL mantığınındaki olası tüm durumları göz önünde bulundurmamız gerekecektir.
Aynı işlemi TRY_PARSE fonksiyonunu kullanarak yapalım.
Yukarıdaki sorguyu çalıştırdığınızda aşağıdakine benzer bir sonuç göreceksiniz.
Yukarıdaki sorgu, ilk sütun değerini sayısal olarak gösterir ve kalan değerler için NULL değerini döndürür.
Ayrıca TRY_PARSE fonksiyonu, doğrulama için diğer NUMERIC & DATETIME veri türleri ile birlikte de kullanılabilir.
Yukarıdaki sorguyu çalıştırdığınızda aşağıdakine benzer bir sonuç göreceksiniz.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.