亚洲av色香蕉一区二区三区,十四以下岁毛片带血a级,亚洲 校园 欧美 国产 另类,亚洲av日韩av一区谷露,色欲av无码一区二区三区

  • 相關(guān)軟件
    >SET NUMERIC_ROUNDABORT 創(chuàng)建者:webmaster 更新時間:2006-02-16 15:51

    指定當表達式中的四舍五入導致精度損失時生成的錯誤報告級別。



    語法


    SET NUMERIC_ROUNDABORT { ON | OFF }



    注釋


    當 SET NUMERIC_ROUNDABORT 為 ON 時,當表達式中出現(xiàn)精度損失時生成錯誤。當設置為 OFF 時,精度損失不生成錯誤信息,并且將結(jié)果四舍五入為存儲結(jié)果的列或變量的精度。



    在精度較低的列或變量中,當試圖以固定精度存儲一個值時,將出現(xiàn)精度損失。



    如果 SET NUMERIC_ROUNDABORT 為 ON,則 SET ARITHABORT 決定生成錯誤的嚴重度。下表顯示當出現(xiàn)精度損失時這兩個設置的效果。
























    設置
    SET NUMERIC_ROUNDABORT ONSET NUMERIC_ROUNDABORT OFF
    SET ARITHABORT ON生成錯誤;不返回結(jié)果集。沒有錯誤和警告;將結(jié)果四舍五入。
    SET ARITHABORT OFF返回警告;表達式返回 NULL。沒有錯誤和警告;將結(jié)果四舍五入。



    SET NUMERIC_ROUNDABORT 的設置是在執(zhí)行或運行時設置,而不是在分析時設置。



    當在計算列或索引視圖上創(chuàng)建或操作索引時,SET NUMERIC_ROUNDABORT 必須為 OFF。如果 SET NUMERIC_ROUNDABORT 為 ON,則計算列或索引視圖上帶索引的表上的 CREATE、UPDATE、INSERT 和 DELETE 語句將失敗。有關(guān)計算列上的索引視圖和索引所必需的 SET 選項設置的更多信息,請參見 SET 中的"使用 SET 語句時的注意事項"。



    權(quán)限


    SET NUMERIC_ROUNDABORT 權(quán)限默認授予所有用戶。



    示例


    下例顯示將兩個精度為四位小數(shù)的值添加和存儲在一個精度為兩位小數(shù)的變量中。下列表達式演示不同的 SET NUMERIC_ROUNDABORT 和 SET ARITHABORT 設置的效果。



    -- SET NOCOUNT to ON, 
    -- SET NUMERIC_ROUNDABORT to ON, and SET ARITHABORT to ON.
    SET NOCOUNT ON
    PRINT 'SET NUMERIC_ROUNDABORT ON'
    PRINT 'SET ARITHABORT ON'
    SET NUMERIC_ROUNDABORT ON
    SET ARITHABORT ON
    GO
    DECLARE @result decimal(5,2),
    @value_1 decimal(5,4), @value_2 decimal(5,4)
    SET @value_1 = 1.1234
    SET @value_2 = 1.1234
    SELECT @result = @value_1 + @value_2
    SELECT @result
    GO
    -- SET NUMERIC_ROUNDABORT to ON and SET ARITHABORT to OFF.
    PRINT 'SET NUMERIC_ROUNDABORT ON'
    PRINT 'SET ARITHABORT OFF'
    SET NUMERIC_ROUNDABORT ON
    SET ARITHABORT OFF
    GO
    DECLARE @result decimal(5,2),
    @value_1 decimal(5,4), @value_2 decimal(5,4)
    SET @value_1 = 1.1234
    SET @value_2 = 1.1234
    SELECT @result = @value_1 + @value_2
    SELECT @result
    GO
    -- SET NUMERIC_ROUNDABORT to OFF and SET ARITHABORT to ON.
    PRINT 'SET NUMERIC_ROUNDABORT OFF'
    PRINT 'SET ARITHABORT ON'
    SET NUMERIC_ROUNDABORT OFF
    SET ARITHABORT ON
    GO
    DECLARE @result decimal(5,2),
    @value_1 decimal(5,4), @value_2 decimal(5,4)
    SET @value_1 = 1.1234
    SET @value_2 = 1.1234
    SELECT @result = @value_1 + @value_2
    SELECT @result
    GO
    -- SET NUMERIC_ROUNDABORT to OFF and SET ARITHABORT to OFF.
    PRINT 'SET NUMERIC_ROUNDABORT OFF'
    PRINT 'SET ARITHABORT OFF'
    SET NUMERIC_ROUNDABORT OFF
    SET ARITHABORT OFF
    GO
    DECLARE @result decimal(5,2),
    @value_1 decimal(5,4), @value_2 decimal(5,4)
    SET @value_1 = 1.1234
    SET @value_2 = 1.1234
    SELECT @result = @value_1 + @value_2
    SELECT @result
    GO
    相關(guān)文章
    本頁查看次數(shù):