select (4/2) as qq from a
得出qq=2
那下面的为什么qq=0?
select (1/2) as qq from a

解决方案 »

  1.   

    select (1.0/2) as qq from a
      

  2.   

    declare @a decimal(10,2)--定义好,没定义SQL默认为整数
    set @a=1
    select @a/2 as qq from a
    qq               
    ---------------- 
    .500000
    .500000
    .500000
    .500000(所影响的行数为 4 行)
      

  3.   

    那下面的为什么qq=0?
    select (1/2) as qq from a
    ========这是因为,1和2都是整数,所以结果也会取整,1/2取整结果就为0了。
      

  4.   

    select cast((cast(4 as decimal)/cast(2 as decimal)) as decimal(10, 2))select cast((cast(1 as decimal)/cast(2 as decimal)) as decimal(10, 2))--是數據類型的問題
      

  5.   

    select cast(1 as float)/cast(2 as float) as qq from a