MSSQL Nvarchar Convert to Decimal

SQL üzerinde sorgulama yaparken nvarchar alanların decimal alanlara cast yapılması genel olarak sorunludur. Fakat bu işlemi aşağıdaki şekilde yapabilirsiniz.

select convert(decimal(20,2),replace(tutar,',','.')) from uyetahakkuk

gördüğünüz gibi öncelikle tutar alanından gelen “,” ile ayrılmış kuruş hanemizi “.” ile değiştiriyoruz ve ardından da convert işlemi ile alan tanımını decimal (20,2) olarak değiştiriyoruz.

select sum(convert(decimal(20,2),replace(tutar,',','.'))) from uyetahakkuk

En son olarak da sum işlemi ile yapılan dönüşümün doğruluğunu test etmiş oluyoruz.