DECLARE @PRICE DECIMAL(10,2)
SET @PRICE=1.23SELECT CEILING(@PRICE)+0.99
/*
2.99
*/

解决方案 »

  1.   


    DECLARE @PRICE DECIMAL(10,2)
    SET @PRICE=1.23SELECT FLOOR(@PRICE)+0.99
    /*
    1.99
    */
      

  2.   

    说实话 我还是不怎么看懂 能不能说下每句是撒意思啊
    看不有点不明白 
    小弟初学SQL
      

  3.   

    FLOOR:返回小于或等于指定数值表达式的最大整数。
      

  4.   

    CEILING 函数返回大于或等于指定数值表达式的最小整数。FLOOR 函数返回小于或等于指定数值表达式的最大整数。
    例如,假设有一个数值表达式 12.9273,则 CEILING 返回 13,而 FLOOR 返回 12。
    FLOOR 和 CEILING 返回值的数据类型都与输入的数值表达式的数据类型相同。
      

  5.   

    再补个DECLARE @PRICE DECIMAL(10,3)
    SET @PRICE=1.233SELECT LEFT(@PRICE,CHARINDEX('.',@PRICE))*1.0+0.99
             
    -------- 
    1.99(所影响的行数为 1 行)