Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Toto nastavení ovládá SET ARITHIGNORE , zda dotaz vrací chybové zprávy o přetečení aritmetiky nebo chybách dělení nulou. Nastavení potlačuje SET ARITHIGNORE ON zprávy "Došlo k dělení nulou." nebo "Došlo k přetečení aritmetiky."
Syntaxe
Syntax pro databáze SQL Server, Azure SQL Database, Microsoft Fabric Data Warehouse v Microsoft Fabric
SET ARITHIGNORE { ON | OFF }
Syntaxe pro Azure Synapse Analytics a systém analytických platforem (PDW)
SET ARITHIGNORE OFF
Poznámky
- Pokud dojde k aritmetické chybě a
SET ARITHABORT, objeví se varovná zpráva, kdyžSET ARITHIGNOREje ,OFFa výsledek aritmetické operace jeNULL.OFFSET ANSI_WARNINGS - Pokud dojde k aritmetické chybě a
SET ARITHABORTa , varovná zpráva se neobjeví, pokudSET ARITHIGNOREje ,ONa výsledek aritmetické operace jeNULL.OFFSET ANSI_WARNINGS
Toto ARITHIGNORE nastavení určuje pouze to, zda dotaz vrátí chybovou zprávu. SQL Database Engine vrací NULL ve výpočtu chybu přetečení nebo dělení nulou, bez ohledu na toto nastavení. Toto nastavení neovlivňuje chyby, které vznikají během INSERT, UPDATE, a příkazů DELETE .
Pokud je nebo SET ARITHABORTSET ARITHIGNORE je OFF, a SET ANSI_WARNINGS je , ONdotaz stále vrací chybovou zprávu při chybách dělení nulou nebo přetečení. Když ANSI_WARNINGS je ( ON výchozí), nastavení nemá ARITHABORT žádný funkční efekt.
Nastavení je SET ARITHIGNORE nastaveno při spuštění nebo běhu a ne při parse.
Tato syntaxe není podporována bezserverovým fondem SQL ve službě Azure Synapse Analytics.
Zobrazit aktuální nastavení ARITHIGNORE
Pro zobrazení aktuálního nastavení spusť ARITHIGNOREnásledující dotaz T-SQL.
DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';
SELECT @ARITHIGNORE AS ARITHIGNORE;
Povolení
Vyžaduje členství ve veřejné roli .
Examples
Následující příklad ukazuje použití obou SET ARITHIGNORE nastavení s oběma typy chyb dotazů: dělit nulou a přetečení aritmetiky.
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
Příklady: Azure Synapse Analytics a Analytický platformový systém (PDW)
Následující příklad ukazuje dělení nulou a chyby přetečení. Tento příklad nevrací chybovou zprávu pro tyto chyby, protože ARITHIGNORE je .OFF
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
SELECT 1 / 0 AS DivideByZero;
SELECT CAST(256 AS TINYINT) AS Overflow;