Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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)