NULL safe drop dalam perkiraan pengganti untuk fungsi SQL Server 2012 CONCAT
SQL Server 2012 :
SELECT CONCAT(data1, data2)
PRE SQL 2012 (Dua Solusi) :
SELECT {fn CONCAT(ISNULL(data1, ''), ISNULL(data2, ''))}
SELECT ISNULL(CAST(data1 AS varchar(MAX)), '') + ISNULL(CAST(data2 AS varchar(MAX)), '')
Kedua solusi ini menyusun beberapa jawaban dan peringatan luar biasa yang diajukan oleh poster lain termasuk @Martin Smith, @Svish, dan @ vasin1987.
Opsi ini menambahkan NULL
ke ''
(string kosong) casting untuk aman NULL
penanganan sementara akuntansi untuk perilaku yang berbeda-beda dari +
operator yang berkaitan dengan operan tertentu.
Perhatikan bahwa solusi ODBC Scaler Function dibatasi hingga 2 argumen sedangkan pendekatan +
operator dapat diskalakan ke banyak argumen sesuai kebutuhan.
Perhatikan juga potensi masalah yang diidentifikasi oleh @Swifty terkait varchar
ukuran default di sini yang diperbaiki oleh varchar(MAX)
.