lilja Medlem sedan juli 2004 1 183 inlägg Frågan 7 juli 2009 07:49 #1 Hej,
Man ska kunna göra enligt följande
SELECT * FROM Tabell
WHERE KolumnId IN (12,13,17,19,20)
KolumnId är av typen heltal. Det funkar att skicka in en kommaseparerad lista bestående av nvarchar men då finns en begränsning på 4000 tecken. Text funkar inte. Finns det någon bra lösning på detta?
Databasen är MS SQL 2008
P Peter S Medlem sedan dec. 2002 5 483 inlägg Är det en SP vars definition du inte har kontroll över? Om inte så är det ju bara att byta nvarchar(4000) mot nvarchar(max).
lilja Medlem sedan juli 2004 1 183 inlägg Jodå jag har kontroll över den. Men nvarchar(max) är väl detsamma som nvarchar(4000)??
lilja Medlem sedan juli 2004 1 183 inlägg Hmm, nej den var ju lite längre.
Jag har ett till problem. I databasen är kolumnen int och kommaseparerade listan jag skickar in är nvarchar(max). Jag måste på något sätt få
WHERE kolumnNamn IN ('32,33,34')
att bli
WHERE kolumnNamn IN (32,33,34)
då kolumnNamn är av typen int. 32, 33 och 34 skickas in mha en nvarchar(max) parameter.