SET CONCAT_NULL_YIELDS_NULL (SQL Bertransaksi)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform 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.
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)
