DECLARE @noused money
DECLARE @rent  money
DECLARE @new_num float
DECLARE @new_month  intselect  @new_num=cast(@new_num*1000 as int)%cast(@rent*1000 as int)/1000,@new_month=@new_num/@rent

解决方案 »

  1.   

    DECLARE @noused money
    DECLARE @rent  money
    DECLARE @new_num float
    DECLARE @new_month  intselect @noused=100.18,@rent=10select  @new_num=cast(@noused*1000 as int)%cast(@rent*1000 as int)/1000.0,@new_month=@noused/@rent
    select @noused,@rent,@new_num,@new_month/*
                                                                                                                  
    --------------------- --------------------- ----------------------------------------------------- ----------- 
    100.1800              10.0000               0.17999999999999999                                   10(所影响的行数为 1 行)
    */
      

  2.   

    select  @new_num=cast(@new_num*1000 as int)%cast(@rent*1000 as int)/(1000+0.0),@new_month=@new_num/@rent
      

  3.   

    或:
    DECLARE @noused money
    DECLARE @rent  money
    DECLARE @new_num numeric(10,4)
    DECLARE @new_month  intselect @noused=100.18,@rent=10select  @new_num=cast(@noused*1000 as int)%cast(@rent*1000 as int)/1000.0,@new_month=@noused/@rent
    select @noused,@rent,@new_num,@new_month
    /*                                                                     
    --------------------- --------------------- ------------ ----------- 
    100.1800              10.0000               .1800        10(所影响的行数为 1 行)
    */