SET ARITHIGNORE (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

Ayar, SET ARITHIGNORE sorgunun aritmetik taşma veya sıfıra bölme hataları için hata mesajları döndürüp vermediğini kontrol eder. Ayar SET ARITHIGNORE ON , "Sıfıra bölünme gerçekleşti." veya "Aritmetik taşma gerçekleşti" mesajlarını bastırıyor.

Transact-SQL söz dizimi kuralları

Sözdizimi

Microsoft Fabric'de SQL Server, Azure SQL Veritabanı, Microsoft Fabric Data Warehouse, SQL veritabanı için sözdizimi


SET ARITHIGNORE { ON | OFF }

Azure Synapse Analytics ve Analytics Platform Sistemi (PDW) için söz dizimi


SET ARITHIGNORE OFF

Açıklamalar

  • Hem SET ARITHABORT de SET ANSI_WARNINGS ve aritmetik OFF hata gerçekleşirse, bir uyarı mesajı göründüğünde SET ARITHIGNOREOFF, aritmetik işlemin NULLsonucu olarak .
  • Eğer hem SET ARITHABORT de SET ANSI_WARNINGS aritmetik OFF bir hata gerçekleşirse, uyarı mesajı görünmez ve aritmetik ONSET ARITHIGNORE işlemin NULLsonucu 'dir.

Ayar ARITHIGNORE sadece sorgunun hata mesajı gönderip göndermediğini kontrol eder. SQL Database Engine, bu ayar ne olursa olsun, taşma veya sıfıra bölme hatası içeren bir hesaplamada geri dönerNULL. Bu ayar, , UPDATE, ve DELETE ifadeleri sırasında INSERTmeydana gelen hataları etkilemez.

Eğer ya SET ARITHABORT da SET ARITHIGNOREOFFise, ve SET ANSI_WARNINGS ise ON, sorgu sıfıra bölme veya taşma hatalarıyla karşılaştığında yine de hata mesajı döndürür. Varsayılan, ANSI_WARNINGS ' ON ayarının ARITHABORT işlevsel bir etkisi yoktur.

Ayarları SET ARITHIGNORE işleme veya çalıştırma zamanında ayarlanır, ayrıştırma zamanında değil.

Bu söz dizimi, Azure Synapse Analytics'teki sunucusuz SQL havuzu tarafından desteklenmez.

Mevcut ayarını görüntüleyin ARITHIGNORE

Mevcut ayarını ARITHIGNOREgörmek için aşağıdaki T-SQL sorgusunu çalıştırın.

DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';  
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';
SELECT @ARITHIGNORE AS ARITHIGNORE;  

Permissions

"" genel "" rolüne üyelik gerektirir.

Örnekler

Aşağıdaki örnek, her iki SET ARITHIGNORE ayarın da her iki tür sorgu hatasıyla kullanıldığını göstermektedir: sıfıra bölme ve aritmetik taşma.

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  

Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)

Aşağıdaki örnek, sıfıra bölme ve taşma hatalarını göstermektedir. Bu örnek bu hatalar için hata mesajı vermez çünkü ARITHIGNORE .OFF

-- SET ARITHIGNORE OFF and testing.  
SET ARITHIGNORE OFF;  
SELECT 1 / 0 AS DivideByZero;  
SELECT CAST(256 AS TINYINT) AS Overflow;