一个SQL小问题???(100分)

  • 主题发起人 主题发起人 hxt33
  • 开始时间 开始时间
H

hxt33

Unregistered / Unconfirmed
GUEST, unregistred user!
如果要查询分析器中写
select 1.0/10
结果是: .100000
如果要显示成:0.100000,就是要前面加0,还是要数值型
应该怎么写SQL??
 
好像改個寫法會加0,但是小數的最后面的一位會帶一個尾巴,
select cast(1.0 as float)/10
結果是:0.10000000000000001不知道合不合你的要求
 
小数点后太多位了?能不能只要4位?
如果用select convert(decimal(9,4),cast(1.0 as float)/10)
还是不行!!
 
select cast(1.0/10 as varchar)
 
楼上看都不看就瞎说,没看到别人说是数值型啊,
select cast(cast(cast(1 as float)/7 as decimal(10,4)) as real)
(0.1429)
这样你看行不行,他只能是不足四位取实际位数,大于四位取前四位,看这样合不合要求,
 
我請教過高手了,要查询分析器中写,是不能實現的,只有在程序中寫啊
 
select cast(cast(cast(1 as float)/3 as decimal(10,4)) as real)
为什么会是 0.33329999 而不是0.3333???
 
那是sqlserver自身的精度问题,因为你转换的时候进行了除法,float/decimal,
最后的as用decimal就可以了。
 
后退
顶部