Hallo,
wie übergibt man einer Where-Klausel eine Zahlenliste?
Diese Abfrage liefert das gewünsche Ergebnis:
SELECT * FROM [dbo].[v_TR] WHERE Counter in (648,649,650,652...)
Wenn die Zahlenliste in einem Parameter steckt wie hier
DECLARE @counter varchar(1000)
SET @counter = (SELECT STRING_AGG(Counter,',') FROM [dbo].[tb_Rec]);
SELECT * FROM [dbo].[v_TR] WHERE Counter in (@counter)
bekomme ich folgende Fehlermeldung:
Fehler beim Konvertieren des varchar-Werts "648,649,650,652,653,654,655,697,698,754,755,756,757,860,861,862,885,1099,1227,1274,1314,1315,10,32,53,364,648,649,650,652,653,654,655,697,698,754,755,756,757,860,861,862,885,1099,1227,1274,1314,1315,10,32,53,364,648,649,650,652,653,654,655,697,698,754,755,756,757,860,861,862,885,1099,1227,1274,1314,1315,10,32,53,364,648,649,650,652,653,654,655,697,698,754,755,756,757,860,861,862,885,1099,1227,1274,1314,1315,10,32,53,364,648,649,650,652,653,654,655,697,698,754,755,756,757,860,861,862,885,1099,1227,1274,1314,1315" in den int-Datentyp.
Wie macht man es richtig?
Danke für eure Hilfe
wie übergibt man einer Where-Klausel eine Zahlenliste?
Diese Abfrage liefert das gewünsche Ergebnis:
SELECT * FROM [dbo].[v_TR] WHERE Counter in (648,649,650,652...)
Wenn die Zahlenliste in einem Parameter steckt wie hier
DECLARE @counter varchar(1000)
SET @counter = (SELECT STRING_AGG(Counter,',') FROM [dbo].[tb_Rec]);
SELECT * FROM [dbo].[v_TR] WHERE Counter in (@counter)
bekomme ich folgende Fehlermeldung:
Fehler beim Konvertieren des varchar-Werts "648,649,650,652,653,654,655,697,698,754,755,756,757,860,861,862,885,1099,1227,1274,1314,1315,10,32,53,364,648,649,650,652,653,654,655,697,698,754,755,756,757,860,861,862,885,1099,1227,1274,1314,1315,10,32,53,364,648,649,650,652,653,654,655,697,698,754,755,756,757,860,861,862,885,1099,1227,1274,1314,1315,10,32,53,364,648,649,650,652,653,654,655,697,698,754,755,756,757,860,861,862,885,1099,1227,1274,1314,1315,10,32,53,364,648,649,650,652,653,654,655,697,698,754,755,756,757,860,861,862,885,1099,1227,1274,1314,1315" in den int-Datentyp.
Wie macht man es richtig?
Danke für eure Hilfe