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 FabricWarehouse di Microsoft Fabric

Mengontrol apakah hasil perangkaian diperlakukan sebagai nilai string null atau kosong.

Catatan

SET CONCAT_NULL_YIELDS_NULL OFF dan CONCAT_NULL_YIELDS_NULL opsi database OFF tidak digunakan lagi. Dimulai dengan SQL Server 2017 (14.x), CONCAT_NULL_YIELDS_NULL selalu diatur ke ON. 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.

Konvensi sintaks transact-SQL

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 ON, 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 CONCAT_NULL_YIELDS_NULL opsi database berlaku.

Catatan

SET SET CONCAT_NULL_YIELDS_NULL adalah pengaturan yang sama dengan CONCAT_NULL_YIELDS_NULL pengaturan ALTER DATABASE.

Pengaturan SET CONCAT_NULL_YIELDS_NULL diatur pada waktu eksekusi atau eksekusi dan bukan pada waktu penguraian.

SET CONCAT_NULL_YIELDS_NULL harus AKTIF saat membuat atau mengubah tampilan yang diindeks, indeks pada kolom yang dihitung, indeks yang difilter, atau indeks spasial. Jika SET CONCAT_NULL_YIELDS_NULLNONAKTIF, pernyataan CREATE, UPDATE, INSERT, dan DELETE setiap pernyataan pada tabel dengan indeks pada kolom yang dihitung, indeks yang difilter, indeks spasial, atau tampilan yang diindeks akan gagal. Untuk informasi selengkapnya tentang pengaturan opsi yang diperlukan SET dengan tampilan dan indeks yang diindeks pada kolom yang dihitung, lihat "Pertimbangan Saat Anda Menggunakan SET Pernyataan" di SET Pernyataan (Transact-SQL).

Saat CONCAT_NULL_YIELDS_NULL diatur ke OFF, penggabungan 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