T-SQL'de Bölme işleminde ondalıklı değerlerin korunması
SQL Server'da eğer bir tam sayıyı bir başka tam sayıya bölmeye çalışırsanız alacağınız sonuç her zaman bir tam sayı olacaktır.
Select 1 / 4 -- Sonuç = 0
Oysa birçok durumda gerçek sonuç bir tam sayı değildir aslında. Bu durumdan kurtulmak için ilk sayının float yada decimal'a dönüştürülmesi yeterli olacaktır.
Select cast(1 as float) / 4 -- Sonuç = 0,25
Select 1 / 4 -- Sonuç = 0
Oysa birçok durumda gerçek sonuç bir tam sayı değildir aslında. Bu durumdan kurtulmak için ilk sayının float yada decimal'a dönüştürülmesi yeterli olacaktır.
Select cast(1 as float) / 4 -- Sonuç = 0,25
Yorumlar