@Variable in "WHERE IN"

pelesla

Benutzer
Beiträge
16
Ich habe folgendes Problem:

Code:
@NAME NVARCHAR(40) = 'Peter, Max, Urs'

Wie schaffe ich es, die Namen in ein WHERE IN zu kriegen?

Code:
SELECT * FROM T1 WHERE VORNAME IN @NAME

DANKE IM VORAUS!
 
Werbung:
Von der Syntax her würde ich sagen: where vorname in (@name), die Klammern sind wichtig. Aber ob mein Halbwissen zu M$SQL hier korrekt ist weiß ich nicht...
 
Ich würde sagen das geht nur mit einzelnen Variablen pro Vorname oder dynamischem SQL, kann mir auch nicht vorstellen das PG das anders auflöst.

Hier ein Beispiel:
Code:
DECLARE   @name VARCHAR(40),
     @query VARCHAR(1000)

SET     @name = '''Peter'',''Max'',''Urs'''
SET     @query = 'SELECT * FROM PERSONEN WHERE VORNAME IN (' + @name + ')'
EXEC(@query)
Wichtig ist natürlich das @name auch richtig formatiert ist und nicht einfach nur Wörter enthält.
 
Weiß nicht wie das bei MS SQL ist, aber in Oracle würde ich dafür einfach ne Funktion anlegen die den String nach ', ' separiert und nen Array (vorzugsweise Table) mit den einzelnen Werten zurückliefert...
 
Werbung:
Zurück
Oben