Hallo zusammen,
ich habe eine Frage, an der ich mir die Zähne ausbeisse. Ich möchte eine Abfrage machen, in der ein Reihe von varchars in einem IN-Operator vorkommt. Damit ich das nicht ständig neu tippen muss (und auch die SQL-Zeile nicht so lang wird), wollte ich das vorher in eine Variable packen.
In etwa so:
DECLARE @var varchar(10) = 'Harald', 'Marvin', 'Hugo'
SELECT *
FROM Tabelle
WHERE Name IN (@var)
Ich weiss natürlich, dass in der DECLARE-Anweisung durch die Hochkommas bei 'Harald' Schluss ist. Entweder muss das maskiert werden (habe aber schon alle möglichen Varianten ausprobiert, zwei Hochkommas, drei, zwei Gänsefüssschen etc.) oder es geht irgendwie mit einem Array. Allerdings sollen Arrays bei T-SQL ja nicht vorgesehen sein.
Hat jemand eine Idee, wie ich sowas in einer Variable speichern kann?
Viele Grüße
Joe
ich habe eine Frage, an der ich mir die Zähne ausbeisse. Ich möchte eine Abfrage machen, in der ein Reihe von varchars in einem IN-Operator vorkommt. Damit ich das nicht ständig neu tippen muss (und auch die SQL-Zeile nicht so lang wird), wollte ich das vorher in eine Variable packen.
In etwa so:
DECLARE @var varchar(10) = 'Harald', 'Marvin', 'Hugo'
SELECT *
FROM Tabelle
WHERE Name IN (@var)
Ich weiss natürlich, dass in der DECLARE-Anweisung durch die Hochkommas bei 'Harald' Schluss ist. Entweder muss das maskiert werden (habe aber schon alle möglichen Varianten ausprobiert, zwei Hochkommas, drei, zwei Gänsefüssschen etc.) oder es geht irgendwie mit einem Array. Allerdings sollen Arrays bei T-SQL ja nicht vorgesehen sein.
Hat jemand eine Idee, wie ich sowas in einer Variable speichern kann?
Viele Grüße
Joe