Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Instancia administrada de Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Punto de conexión de SQL Analytics en Microsoft Fabric
Almacén en Microsoft Fabric
Base de datos SQL en Microsoft Fabric
Controla si se devuelven mensajes de error al producirse errores de desbordamiento o división por cero durante una consulta.
Convenciones de sintaxis de Transact-SQL
Sintaxis
-- Syntax for SQL Server and Azure SQL Database and Microsoft Fabric
SET ARITHIGNORE { ON | OFF }
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse
SET ARITHIGNORE OFF
Nota:
El grupo de SQL sin servidor no admite esta sintaxis en Azure Synapse Analytics.
Comentarios
La SET ARITHIGNORE configuración solo controla si se devuelve un mensaje de error. SQL Server devuelve NULL en un cálculo en que se invoca un error de desbordamiento o de división por cero con independencia de esta opción. La SETSET ARITHABORT configuración puede usarse para determinar si la consulta está terminada. Esta configuración no afecta a los errores que ocurren durante INSERTlas sentencias , UPDATE, y DELETE .
Si uno de los SET ARITHABORT dos SETSET ARITHIGNORE está OFF y SETSET ANSI_WARNINGS ON (ACTIVADO), SQL Server sigue devolviendo un mensaje de error al encontrar errores de división por cero o de desbordamiento.
El valor de se establece en tiempo de SET ARITHIGNORE ejecución o ejecución y no en tiempo de análisis.
Para ver la configuración actual de este valor, ejecute la consulta siguiente.
DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';
SELECT @ARITHIGNORE AS ARITHIGNORE;
Permisos
Debe pertenecer al rol public.
Ejemplos
En el ejemplo siguiente se muestran las dos opciones de SET ARITHIGNORE con ambos tipos de errores de consulta.
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
Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)
En el siguiente ejemplo se muestran los errores de división entre cero y de desbordamiento. Este ejemplo no devuelve un mensaje de error para estos errores porque ARITHIGNORE está OFF.
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
SELECT 1 / 0 AS DivideByZero;
SELECT CAST(256 AS TINYINT) AS Overflow;
Consulte también
SET Instrucciones (Transact-SQL)
SET
SET ARITHABORT (Transact-SQL)