共用方式為


SET ARITHIGNORE (Transact-SQL)

控制在查詢期間,是從溢位或除以零的錯誤傳回錯誤訊息。

主題連結圖示Transact-SQL 語法慣例

語法

SET ARITHIGNORE { ON | OFF }
[ ; ]

備註

SET ARITHIGNORE 設定只會控制是否傳回錯誤訊息。在包含溢位或除以零的錯誤之計算中,不論這項設定為何,SQL Server 都會傳回 NULL。您可以利用 SET ARITHABORT 設定來判斷查詢是否終止。這項設定不會影響 INSERT、UPDATE 和 DELETE 陳述式期間所發生的錯誤。

如果 SET ARITHABORT 或 SET ARITHIGNORE 是 OFF,而 SET ANSI_WARNINGS 是 ON,當發現除以零或溢位的錯誤時,SQL Server 會傳回錯誤訊息。

SET ARITHIGNORE 的設定是在執行階段進行設定,而不是在剖析階段進行設定。

權限

需要 public 角色中的成員資格。

範例

下列範例會示範如何搭配這兩類查詢錯誤來使用這兩個 SET ARITHIGNORE 設定。

SET ARITHABORT OFF;
SET ANSI_WARNINGS OFF
GO

PRINT 'Setting ARITHIGNORE ON';
GO
-- SET ARITHIGNORE ON and testing.
SET ARITHIGNORE ON;
GO
SELECT 1 / 0 AS DivideByZero;
GO
SELECT CAST(256 AS TINYINT) AS Overflow;
GO

PRINT 'Setting ARITHIGNORE OFF';
GO
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
GO
SELECT 1 / 0 AS DivideByZero;
GO
SELECT CAST(256 AS TINYINT) AS Overflow;
GO