Ich versuche, mehrere Spalten in einer Abfrage in SQL Server 11.00.3393 zu verketten.
Ich habe versucht, die neue Funktion CONCAT()
, aber es funktioniert nicht, wenn ich mehr als zwei Spalten verwende.
Ich frage mich also, ob das der beste Weg ist, das Problem zu lösen:
%Vor% Ich kann COLUMN1 + COLUMN2
wegen NULL
values nicht verwenden.
BEARBEITEN
Wenn ich SELECT CONCAT('1','2','3') AS RESULT
versuche, bekomme ich einen Fehler
Die CONCAT-Funktion benötigt 2 Argumente
Durch den Diskurs ist klar, dass das Problem darin liegt, VS2010 zu verwenden, um die Abfrage zu schreiben, da es die kanonische CONCAT()
-Funktion verwendet, die auf 2 Parameter begrenzt ist. Es gibt wahrscheinlich eine Möglichkeit, das zu ändern, aber ich bin mir dessen nicht bewusst.
Eine Alternative:
%Vor% Bei diesem Ansatz müssen Nicht-String-Werte in Zeichenfolgen umgewandelt und konvertiert werden, ebenso wie NULL
handling via ISNULL()
oder COALESCE()
:
Blockquote
Die Verwendung von Verkettungen in Oracle SQL ist sehr einfach und interessant. Aber ich weiß nicht viel über MS-SQL.
Blockquote
Hier gehen wir für Oracle:
Syntax:
SQL> select First_name||Last_Name as Employee
from employees;
EllenAbel SundarAnde MozheAtkinson
Hier AS: Schlüsselwort als Alias verwendet. Wir können mit NULL Werten verketten. z.B. : columnm1 || Null
Angenommen, eine Ihrer Spalten enthält einen NULL Wert, dann zeigt das Ergebnis nur den Wert der Spalte mit dem Wert an.
Sie können auch Literalzeichenfolge in der Verkettung verwenden.
z.B. %Code% Ergebnis: Spalte1 ist eine Spalte2. Dazwischen sollte das Literal in ein einzelnes Zitat eingebettet sein. Sie können Zahlen ausschließen.
HINWEIS : Dies ist nur für Oracle Server // SQL.
Tags und Links sql sql-server-2012