Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Piattaforma di analisi (PDW)
Endpoint di analisi SQL in Microsoft Fabric
Magazzino in Microsoft Fabric
Database SQL in Microsoft Fabric
Determina se vengono restituiti messaggi di errore in caso di divisione per zero o di overflow durante l'esecuzione di una query.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
-- 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
Nota
Questa sintassi non è supportata da pool SQL serverless in Azure Synapse Analytics.
Osservazioni:
L'impostazione SET ARITHIGNORE controlla solo se viene restituito un messaggio di errore. Per i calcoli che includono un errore di divisione per zero o di overflow, SQL Server restituisce NULL indipendentemente dall'impostazione dell'opzione. L'impostazione SETSET ARITHABORT può essere utilizzata per determinare se la query è terminata. Questa impostazione non influisce sugli errori che si verificano durante INSERTle istruzioni , UPDATE, e DELETE .
Se uno dei SET ARITHABORT due o SETSET ARITHIGNORE è OFF ed SETSET ANSI_WARNINGS è ON, SQL Server restituisce comunque un messaggio di errore quando si incontrano errori di divisione per zero o overflow.
L'impostazione di viene impostata in fase di SET ARITHIGNORE esecuzione o in fase di esecuzione e non in fase di analisi.
Per visualizzare l'impostazione corrente per questa impostazione, eseguire la query riportata di seguito.
DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';
SELECT @ARITHIGNORE AS ARITHIGNORE;
Autorizzazioni
È richiesta l'appartenenza al ruolo public.
Esempi
In questo esempio vengono illustrate entrambe le impostazioni dell'opzione SET ARITHIGNORE con entrambi i tipi di errore di query.
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
Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)
Nell'esempio seguente vengono illustrati gli errori di divisione per zero e gli errori di overflow. Questo esempio non restituisce un messaggio di errore per questi errori perché ARITHIGNORE è OFF.
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
SELECT 1 / 0 AS DivideByZero;
SELECT CAST(256 AS TINYINT) AS Overflow;
Vedi anche
SET Istruzioni (Transact-SQL)
SET
SET ARITHABORT (Transact-SQL)