Transact-SQL 参考

SET ARITHIGNORE

控制在查询执行过程中是否从溢出或被零除错误返回错误信息。

语法

SET ARITHIGNORE { ON | OFF }

注释

SET ARITHIGNORE 设置仅控制是否返回错误信息。不论该设置是什么,Microsoft® SQL Server™ 都将在包含溢出或被零除错误的计算中返回 NULL。可以使用 SET ARITHABORT 设置确定是否终止查询。该设置不影响在 INSERT、UPDATE 和 DELETE 语句执行过程中发生的错误。

如果 SET ARITHABORT 或 SET ARITHIGNORE 为 OFF,并且 SET ANSI_WARNINGS 为 ON,则当遇到被零除或溢出错误时,SQL Server 仍返回错误信息。

SET ARITHIGNORE 的设置是在执行或运行时设置,而不是在分析时设置。

权限

SET ARITHIGNORE 权限默认授予所有用户。

示例

下例演示两种 SET ARITHIGNORE 设置下的两类查询错误。

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

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

请参见

SET

SET ARITHABORT