此处采用Im法,例如:
PRINT @set1
PRINT @set2
SET @weight= @set1 / @set2;
PRINT @weight
结果是:
47
638
0
我很想知道,为什么它把<代码>0而不是0,073667712
退回。
此处采用Im法,例如:
PRINT @set1
PRINT @set2
SET @weight= @set1 / @set2;
PRINT @weight
结果是:
47
638
0
我很想知道,为什么它把<代码>0而不是0,073667712
退回。
1. 要么宣布第1组和第2组为浮动物,而不是作为计算的一部分,将其划入浮动:
SET @weight= CAST(@set1 AS float) / CAST(@set2 AS float);
当你只使用某一司的惯性时,你就会陷入愤怒。 当你使用(至少一个)双轨或浮动时,你将获得点分(以及你希望得到的答复)。
因此,你
不仅把乱分类的结果翻一番:该司已经作为乱葬司进行,因此已经丢失了伤员背后的人数。
简言之,分裂的底线为1.0(或像你想要的那么多 places)
PRINT @set1
PRINT @set2
SET @weight= @set1 / @set2 *1.00000;
PRINT @weight
因为它引起愤怒。 你们需要宣布这些浮点号码或缩略号,或在计算中投放。
如果您宣布为浮动或变式形式,将显示
页: 1
仅限
E.g:
declare @weight float;
SET @weight= 47 / 638; PRINT @weight
Output : 页: 1
如果你想要产出的话
页: 1.页: 173667712
E.g
declare @weight float;
SET @weight= 47.页: 1页: 1页: 1页: 1页: 1页: 1页: 1页: 1页: 1 / 638.页: 1页: 1页: 1页: 1页: 1页: 1页: 1页: 1页: 1; PRINT @weight
在服务器中,尽管结果应是浮标,但还是直接划分了2个编造流。 以下例子说明:
--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人。 尽管第2组有正确的精确定义,但结果为3 000。
CAST(@set1 AS float)
CAST(@set2 AS float)
或
convert(float,@set1)
convert(float,@set2)
First convert into float then apply operat或