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
De SET ARITHIGNORE instelling bepaalt of de query foutmeldingen teruggeeft voor rekenkundige overflow of deel-door-nul fouten. De SET ARITHIGNORE ON instelling onderdrukt de berichten "Divisie door nul is gebeurd." of "Rekenkundige overloop is voorgekomen."
Transact-SQL syntaxis-conventies
Syntaxis
Syntaxis voor SQL Server, Azure SQL Database, Microsoft Fabric Data Warehouse SQL-database in Microsoft Fabric
SET ARITHIGNORE { ON | OFF }
Syntaxis voor Azure Synapse Analytics en Analytics Platform System (PDW)
SET ARITHIGNORE OFF
Opmerkingen
- Als zowel als zijn en een rekenfout optreedt, verschijnt er een waarschuwingsbericht wanneer
SET ARITHIGNOREisOFF, en het resultaat van de rekenkundige bewerking isNULL.OFFSET ANSI_WARNINGSSET ARITHABORT - Als zowel als zijn en en een rekenfout optreedt, verschijnt er geen waarschuwingsbericht als
SET ARITHIGNOREisON, en het resultaat van de rekenkundige bewerking isNULL.OFFSET ANSI_WARNINGSSET ARITHABORT
De ARITHIGNORE instelling bepaalt alleen of de query een foutmelding teruggeeft. De SQL Database Engine levert NULL een berekening met een overflow- of deel-door-nul fout, ongeacht deze instelling. Deze instelling beïnvloedt geen fouten die optreden tijdens INSERT, UPDATE, en DELETE statements.
Als een of SET ARITHABORTSET ARITHIGNORE of , OFFis , en SET ANSI_WARNINGS is ON, geeft de query nog steeds een foutmelding wanneer er deel-door-nul of overloopfouten worden tegengekomen. Wanneer ANSI_WARNINGS is ON (de standaard), heeft de instelling van ARITHABORT geen functioneel effect.
De instelling van SET ARITHIGNORE wordt ingesteld bij uitvoering of uitvoeringstijd en niet op parseringstijd.
Deze syntaxis wordt niet ondersteund door een serverloze SQL-pool in Azure Synapse Analytics.
Bekijk de huidige instelling van ARITHIGNORE
Om de huidige instelling van ARITHIGNOREte bekijken, voer je de volgende T-SQL-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 toont het gebruik van beide SET ARITHIGNORE instellingen met beide typen queryfouten: delen door-nul en rekenkundige overloop.
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 deel-door-nul en de overloopfouten. Dit voorbeeld geeft geen foutmelding terug voor deze fouten omdat ARITHIGNORE is OFF.
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
SELECT 1 / 0 AS DivideByZero;
SELECT CAST(256 AS TINYINT) AS Overflow;