SET CONCAT_NULL_YIELDS_NULL (SQL Bertransaksi)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Managed Instance yesAzure Synapse Analytics Analytics yesPlatform System (PDW)

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

Penting

Dalam versi SQL Server CONCAT_NULL_YIELDS_NULL yang akan datang akan selalu AKTIF dan aplikasi apa pun yang secara eksplisit mengatur opsi ke OFF akan menghasilkan kesalahan. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini.

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

Sintaks untuk kumpulan SQL SQL Server dan tanpa server di Azure Synapse Analytics

    
SET CONCAT_NULL_YIELDS_NULL { ON | OFF }   

Sintaks untuk Azure Synapse Analytics and Analytics Platform System (PDW)

  
SET CONCAT_NULL_YIELDS_NULL ON    

Catatan

Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Keterangan

Saat SET CONCAT_NULL_YIELDS_NULL AKTIF, menggabungkan nilai null dengan string menghasilkan hasil NULL. Misalnya, SELECT 'abc' + NULL menghasilkan NULL. Saat 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  

Lihat juga

Pernyataan SET (Transact-SQL)
SESSIONPROPERTY (SQL Transact)