दो पूर्णांक रिटर्न के एसक्यूएल सर्वर प्रत्यक्ष डिवीजन में पूर्णांक, भले ही परिणाम नाव होना चाहिए। इसमें भर में प्राप्त करने के लिए नीचे दिए गए एक उदाहरण है:
--1--
declare @weird_number_float float
set @weird_number_float=22/7
select @weird_number_float
--2--
declare @weird_number_decimal decimal(18,10)
set @weird_number_decimal=22/7
select @weird_number_decimal
--3--
declare @weird_number_numeric numeric
set @weird_number_numeric=22/7
select @weird_number_numeric
--Right way
declare @weird_number float
set @weird_number=cast(22 as float)/cast(7 as float)
select @weird_number
बस अंतिम ब्लॉक 3,14285714285714 वापस आ जाएगी। सही परिशुद्धता के साथ परिभाषित दूसरे ब्लॉक के बावजूद परिणाम 3.00000 होगा।
स्रोत
2016-12-19 07:43:46
किस डेटा प्रकार @weight है? –
यह एक 'int' है: DECLARE @weight INT – Roch