Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punkt końcowy analizy SQL w usłudze Microsoft Fabric
Hurtownia danych w usłudze Microsoft Fabric
Baza danych SQL w usłudze Microsoft Fabric
Kontroluje, czy komunikaty o błędach są zwracane z powodu błędów przelewu czy dzielenia przez zero podczas zapytania.
Transact-SQL konwencje składni
Składnia
-- 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
Uwaga / Notatka
Ta składnia nie jest obsługiwana przez bezserwerową pulę SQL w usłudze Azure Synapse Analytics.
Uwagi
Ustawienie USTAW ARITHIGNORE kontroluje jedynie, czy zostanie zwrócony komunikat o błędzie. SQL Server zwraca wartość NULL w obliczeniach obejmujących błąd przepełnienia lub dzielenia przez zero, niezależnie od tego ustawienia. Ustawienie SET ARITHABORT może być użyte do określenia, czy zapytanie zostało zakończone. To ustawienie nie wpływa na błędy występujące podczas instrukcji INSERT, UPDATE i DETETE.
Jeśli SET ARITHABORT lub SET ARITHIGNORE są WYŁĄCZONE, a SET ANSI_WARNINGS włączone, SQL Server nadal zwraca komunikat o błędzie przy wystąpieniu błędów dzielenia przez zero lub przepełnienia.
Ustawienie SET ARITHIGNORE jest ustawione w czasie wykonywania lub działania, a nie w czasie parsowania.
Aby zobaczyć aktualne ustawienie dla tego ustawienia, uruchom następujące zapytanie.
DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';
SELECT @ARITHIGNORE AS ARITHIGNORE;
Permissions
Wymaga członkostwa w roli publicznej.
Przykłady
Poniższy przykład pokazuje użycie obu SET ARITHIGNORE ustawień z obiema typami błędów zapytań.
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
Przykłady: Azure Synapse Analytics and Analytics Platform System (PDW)
Poniższy przykład demonstruje dzielenie przez zero oraz błędy przepełnienia. Ten przykład nie zwraca komunikatu o błędzie dla tych błędów, ponieważ ARITHIGNORE jest WYŁĄCZONY.
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
SELECT 1 / 0 AS DivideByZero;
SELECT CAST(256 AS TINYINT) AS Overflow;
Zobacz też
INSTRUKCJE SET (Transact-SQL)
USTAW ARITHABORT (Transact-SQL)