NULL sicherer Abfall der Ersatznäherungen für die CONCAT-Funktion von SQL Server 2012
SQL Server 2012 :
SELECT CONCAT(data1, data2)
PRE SQL 2012 (zwei Lösungen) :
SELECT {fn CONCAT(ISNULL(data1, ''), ISNULL(data2, ''))}
SELECT ISNULL(CAST(data1 AS varchar(MAX)), '') + ISNULL(CAST(data2 AS varchar(MAX)), '')
Diese beiden Lösungen fassen mehrere hervorragende Antworten und Vorbehalte zusammen, die von anderen Postern wie @Martin Smith, @Svish und @ vasin1987 angesprochen wurden.
Diese Optionen ergänzen NULL
das ''
Casting (leere Zeichenfolge) für eine sichere NULL
Handhabung, während das unterschiedliche Verhalten des +
Operators in Bezug auf bestimmte Operanden berücksichtigt wird .
Beachten Sie, dass die ODBC Scaler Function- Lösung auf 2 Argumente beschränkt ist, während der +
Operator- Ansatz nach Bedarf auf viele Argumente skalierbar ist.
Beachten Sie auch das potenzielle Problem, das @Swifty in Bezug auf die Standardgröße identifiziert hat, das varchar
hier durch behoben wurde varchar(MAX)
.