Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
Bepaalt of foutmeldingen worden teruggegeven door overflow of door delen door nul fouten tijdens een query.
Transact-SQL syntaxis-conventies
Syntaxis
-- 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
Opmerking
Deze syntaxis wordt niet ondersteund door een serverloze SQL-pool in Azure Synapse Analytics.
Opmerkingen
De instelling SET ARITHIGNORE bepaalt alleen of er een foutmelding wordt teruggegeven. SQL Server geeft een NULL terug in een berekening met een overflow- of deel-door-nul fout, ongeacht deze instelling. De SET ARITHABORT-instelling kan worden gebruikt om te bepalen of de query wordt beëindigd. Deze instelling beïnvloedt geen fouten die optreden tijdens INSERT-, UPDATE- en DELETE-instructies.
Als SET ARITHABORT of SET ARITHIGNORE UIT is en SET ANSI_WARNINGS AAN staat, geeft SQL Server nog steeds een foutmelding terug bij deling-door-nul of overflowfouten.
De instelling van SET ARITHIGNORE wordt ingesteld tijdens execute- of runtime en niet tijdens parsetijd.
Om de huidige instelling voor deze instelling te bekijken, voert u de volgende query uit.
DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';
SELECT @ARITHIGNORE AS ARITHIGNORE;
Permissions
Vereist lidmaatschap van de openbare rol.
Voorbeelden
Het volgende voorbeeld laat zien hoe beide SET ARITHIGNORE instellingen worden gebruikt met beide typen queryfouten.
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
Voorbeelden: Azure Synapse Analytics and Analytics Platform System (PDW)
Het volgende voorbeeld toont de deling door nul en de overloopfouten. Dit voorbeeld geeft geen foutmelding voor deze fouten omdat ARITHIGNORE UIT is.
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
SELECT 1 / 0 AS DivideByZero;
SELECT CAST(256 AS TINYINT) AS Overflow;
Zie ook
SET-instructies (Transact-SQL)
SET ARITHABORT (Transact-SQL)