Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistem Platform Analitik (PDW)
Titik akhir analitik SQL di Microsoft Fabric
Gudang di Microsoft Fabric
Database SQL di Microsoft Fabric
Pengaturan mengontrol SET ARITHIGNORE apakah kueri mengembalikan pesan kesalahan untuk kemeluapan aritmatika atau kesalahan bagi dengan nol. Pengaturan ini SET ARITHIGNORE ON menekan pesan "Terjadi pembagian dengan nol." atau "Terjadi luapan aritmatika."
Sintaksis
Sintaks untuk database SQL Server, Azure SQL Database, Microsoft Fabric Data Warehouse, SQL di Microsoft Fabric
SET ARITHIGNORE { ON | OFF }
Sintaks untuk Azure Synapse Analytics dan Analytics Platform System (PDW)
SET ARITHIGNORE OFF
Keterangan
- Jika keduanya
SET ARITHABORTdanSET ANSI_WARNINGSareOFFdan terjadi kesalahan aritmatika, pesan peringatan muncul ketikaSET ARITHIGNOREisOFF, dan hasil operasi aritmatika adalahNULL. - Jika keduanya
SET ARITHABORTdanSET ANSI_WARNINGSareOFFdan kesalahan aritmatika terjadi, pesan peringatan tidak muncul jikaSET ARITHIGNOREisON, dan hasil operasi aritmatika adalahNULL.
Pengaturan ARITHIGNORE hanya mengontrol apakah kueri mengembalikan pesan kesalahan. SQL Database Engine mengembalikan NULL dalam perhitungan yang melibatkan kesalahan overflow atau divide-by-zero, terlepas dari pengaturan ini. Pengaturan ini tidak memengaruhi kesalahan yang terjadi selama INSERTpernyataan , UPDATE, dan DELETE .
Jika salah satu SET ARITHABORT atau SET ARITHIGNORE adalah OFF, dan SET ANSI_WARNINGS adalah ON, kueri masih mengembalikan pesan kesalahan saat menemukan kesalahan divide-by-zero atau overflow. Ketika ANSI_WARNINGS ( ON default), pengaturan tidak ARITHABORT memiliki efek fungsional.
Pengaturan SET ARITHIGNORE diatur pada waktu eksekusi atau run time dan bukan pada waktu penguraian.
Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.
Lihat pengaturan saat ini ARITHIGNORE
Untuk melihat pengaturan ARITHIGNOREsaat ini , jalankan kueri T-SQL berikut.
DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';
SELECT @ARITHIGNORE AS ARITHIGNORE;
Izin
Memerlukan keanggotaan dalam peran publik .
Contoh
Contoh berikut menunjukkan penggunaan kedua SET ARITHIGNORE pengaturan dengan kedua jenis kesalahan kueri: divide-by-zero dan arithmetic overflow.
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
Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)
Contoh berikut menunjukkan kesalahan divide-by-zero dan overflow. Contoh ini tidak mengembalikan pesan kesalahan untuk kesalahan ini karena ARITHIGNORE adalah OFF.
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
SELECT 1 / 0 AS DivideByZero;
SELECT CAST(256 AS TINYINT) AS Overflow;