Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Microsoft Fabric
Styr om felmeddelanden returneras från överflödes- eller del-med-noll-fel under en fråga.
Transact-SQL syntaxkonventioner
Syntax
-- 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
Anmärkning
Den här syntaxen stöds inte av en serverlös SQL-pool i Azure Synapse Analytics.
Anmärkningar
SET ARITHIGNORE-inställningen styr endast om ett felmeddelande returneras. SQL Server returnerar en NULL i en beräkning som involverar ett överflödes- eller dela-med-noll-fel, oavsett denna inställning. SET ARITHABORT-inställningen kan användas för att avgöra om frågan avslutas. Denna inställning påverkar inte fel som uppstår under INSERT-, UPDATE- och DELETE-satser.
Om antingen SET ARITHABORT eller SET ARITHIGNORE är AV och SET ANSI_WARNINGS är PÅ, returnerar SQL Server fortfarande ett felmeddelande vid delning med noll eller överflödesfel.
Inställningen för SET ARITHIGNORE är inställd vid exekverings- eller körningstid och inte vid parsetid.
För att se den aktuella inställningen för denna inställning, kör följande fråga.
DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';
SELECT @ARITHIGNORE AS ARITHIGNORE;
Permissions
Kräver medlemskap i den offentliga rollen.
Examples
Följande exempel visar hur man använder båda SET ARITHIGNORE inställningarna med båda typerna av frågefel.
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
Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)
Följande exempel visar delningen med noll och överflödesfelen. Detta exempel ger inget felmeddelande för dessa fel eftersom ARITHIGNORE är AV.
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
SELECT 1 / 0 AS DivideByZero;
SELECT CAST(256 AS TINYINT) AS Overflow;
Se även
SET-instruktioner (Transact-SQL)
ANGE ARITHABORT (Transact-SQL)