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
L'impostazione SET ARITHIGNORE controlla se la query restituisce messaggi di errore per overflow aritmetico o errori di divisione per zero. L'impostazione SET ARITHIGNORE ON sopprime i messaggi "Divisione per zero avvenuta." o "È avvenuto un overflow aritmetico."
Convenzioni relative alla sintassi Transact-SQL
Sintassi
Sintassi per database SQL Server, database SQL di Azure, Microsoft Fabric Data Warehouse, SQL in Microsoft Fabric
SET ARITHIGNORE { ON | OFF }
Sintassi per Azure Synapse Analytics e piattaforma di strumenti analitici (PDW)
SET ARITHIGNORE OFF
Osservazioni:
- Se sia e sono sia che si verifica un errore aritmetico, appare un messaggio di avvertimento quando
SET ARITHIGNOREèOFF, e il risultato dell'operazione aritmetica èNULL.OFFSET ANSI_WARNINGSSET ARITHABORT - Se sia e sono sia che si verifica un errore aritmetico, non appare un messaggio di avviso se
SET ARITHIGNOREèON, e il risultato dell'operazione aritmetica èNULL.OFFSET ANSI_WARNINGSSET ARITHABORT
L'impostazione ARITHIGNORE controlla solo se la query restituisce un messaggio di errore. SQL motore di database restituisce NULL un calcolo che prevede un overflow o un errore di divisione per zero, indipendentemente da questa impostazione. Questa impostazione non influisce sugli errori che si verificano durante INSERTle istruzioni , UPDATE, e DELETE .
Se o SET ARITHABORTSET ARITHIGNORE è OFF, e SET ANSI_WARNINGS è ON, la query restituisce comunque un messaggio di errore quando incontra errori di divisione per zero o di overflow. Quando ANSI_WARNINGS è ON (il valore predefinito), l'impostazione di ARITHABORT non ha effetto funzionale.
L'impostazione di viene impostata in fase di SET ARITHIGNORE esecuzione o in fase di esecuzione e non in fase di analisi.
Questa sintassi non è supportata da pool SQL serverless in Azure Synapse Analytics.
Visualizza l'attuale ambientazione di ARITHIGNORE
Per visualizzare l'impostazione attuale di ARITHIGNORE, esegui la seguente query T-SQL.
DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';
SELECT @ARITHIGNORE AS ARITHIGNORE;
Autorizzazioni
È richiesta l'appartenenza al ruolo public .
Esempi
L'esempio seguente dimostra l'uso di entrambe SET ARITHIGNORE le impostazioni con entrambi i tipi di errori di query: divide-by-zero e overflow aritmetico.
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)
L'esempio seguente mostra gli errori di divisione per zero e 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;