SET CONCAT_NULL_YIELDS_NULL (Transact-SQL)
Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse di Microsoft Fabric
Mengontrol apakah hasil perangkaian diperlakukan sebagai nilai string null atau kosong.
Catatan
SET CONCAT_NULL_YIELDS_NULL OFF
dan opsi CONCAT_NULL_YIELDS_NULL OFF database tidak digunakan lagi. Dimulai dengan SQL Server 2017 (14.x), CONCAT_NULL_YIELDS_NULL selalu diatur ke AKTIF. Fitur yang tidak digunakan lagi tidak boleh digunakan dalam aplikasi baru. Untuk informasi selengkapnya, lihat Fitur Mesin Database yang Tidak Digunakan Lagi di SQL Server 2017.
Sintaks
Sintaks untuk SQL Server, kumpulan SQL tanpa server di Azure Synapse Analytics, Microsoft Fabric
SET CONCAT_NULL_YIELDS_NULL { ON | OFF }
Sintaks untuk Azure Synapse Analytics dan Analytics Platform System (PDW)
SET CONCAT_NULL_YIELDS_NULL ON
Keterangan
Ketika SET CONCAT_NULL_YIELDS_NULL AKTIF, menggabungkan nilai null dengan string menghasilkan hasil NULL. Misalnya, SELECT 'abc' + NULL
menghasilkan NULL
. Ketika SET CONCAT_NULL_YIELDS_NULL NONAKTIF, menggabungkan nilai null dengan string menghasilkan string itu sendiri (nilai null diperlakukan sebagai string kosong). Misalnya, SELECT 'abc' + NULL
menghasilkan abc
.
Jika SET CONCAT_NULL_YIELDS_NULL tidak ditentukan, pengaturan opsi database CONCAT_NULL_YIELDS_NULL berlaku.
Catatan
SET CONCAT_NULL_YIELDS_NULL adalah pengaturan yang sama dengan pengaturan CONCAT_NULL_YIELDS_NULL ALTER DATABASE.
Pengaturan SET CONCAT_NULL_YIELDS_NULL diatur pada waktu eksekusi atau run time dan bukan pada waktu penguraian.
SET CONCAT_NULL_YIELDS_NULL harus AKTIF saat membuat atau mengubah tampilan terindeks, indeks pada kolom komputasi, indeks yang difilter, atau indeks spasial. Jika SET CONCAT_NULL_YIELDS_NULL NONAKTIF, pernyataan CREATE, UPDATE, INSERT, dan DELETE apa pun pada tabel dengan indeks pada kolom komputasi, indeks yang difilter, indeks spasial, atau tampilan terindeks akan gagal. Untuk informasi selengkapnya tentang pengaturan opsi SET yang diperlukan dengan tampilan dan indeks terindeks pada kolom komputasi, lihat "Pertimbangan Saat Anda Menggunakan Pernyataan SET" dalam Pernyataan SET (Transact-SQL).
Ketika CONCAT_NULL_YIELDS_NULL diatur ke NONAKTIF, perangkaian string di seluruh batas server tidak dapat terjadi.
Untuk menampilkan pengaturan saat ini untuk pengaturan ini, jalankan kueri berikut.
DECLARE @CONCAT_SETTING VARCHAR(3) = 'OFF';
IF ( (4096 & @@OPTIONS) = 4096 ) SET @CONCAT_SETTING = 'ON';
SELECT @CONCAT_SETTING AS CONCAT_NULL_YIELDS_NULL;
Contoh
Contoh berikut menunjukkan penggunaan kedua SET CONCAT_NULL_YIELDS_NULL
pengaturan.
PRINT 'Setting CONCAT_NULL_YIELDS_NULL ON';
GO
-- SET CONCAT_NULL_YIELDS_NULL ON and testing.
SET CONCAT_NULL_YIELDS_NULL ON;
GO
SELECT 'abc' + NULL ;
GO
-- SET CONCAT_NULL_YIELDS_NULL OFF and testing.
SET CONCAT_NULL_YIELDS_NULL OFF;
GO
SELECT 'abc' + NULL;
GO