NEW ANTWORT -
Nun, Sie haben etwas zu tun, wie unten angegeben. Ich gehe davon aus, dass Ihre CSV-Zeichenfolge wie in Variable @str unten angegeben wäre. Else müssen Sie sicherstellen, dass Ihre Zeichenfolge (oder Arraystring) dieses Format mit einfachen Anführungszeichen für jedes Element haben sollte -
set @str = "'some1','some2','some3'";
set @qry1 = CONCAT('select * from testing where col1 in (',@str,')');
prepare stmt1 from @qry1;
execute stmt1;
deallocate prepare stmt1;
ALTE ANTWORT -
Ich gehe davon aus, dass Sie die CSV-Datei Pfad gespeichert passieren proc und lese die Zeilen in csv in diesem gespeicherten proc. Also im Grunde können Sie alle speichern diese csv Feldwerte in einer temporären Tabelle und schreiben Abfrage mit IN -
select * from sourceTable
where fieldValue in (select csvFieldValue from #temptable)
Nein, es ist keine Datei, nur ein Textfeld wie "token1, token2, token3" usw., das als Parameter übergeben wird. – Chris
@Chris - Bearbeitete meine Antwort. Getestet mit gegebener Zeichenfolge und es funktioniert gut. Sie müssen möglicherweise einige Änderungen am String-Array vornehmen. –
Müssen einige Manipulation der Zeichenfolge im Agenten, um die Zitate richtig zu machen, aber funktioniert gut, Danke! – Chris