Fråga : Hur man använder bordlägga variabeln för matar in parameter

Hi pröva förmiddag för

I att göra något något liknande efter som inte fungerar:

select *
from table1
where Col1 i

I (för @listen) har i stort ett lagrat tillvägagångssätt som accepterar en parameter, som kan vara ett avgränsat komma listar av IDs, eg.: br/>
I för
'1,2,3,4'< önskar inte att använda dynamisk sql utan snarlikt bruk en bordläggavariabel och därefter att göra en sammanfoga på bordläggavariabeln. Men I-förmiddagen inte sure hur man parse lista av värderar in i bordläggavariabeln. Hur kan detta göras?

Thanks
" klar "

Svar : Hur man använder bordlägga variabeln för matar in parameter

Du kan använda den nedanföra fungera för att skapa bordlägga som du behöver
baserat på komma-avskild värderar dig har.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
skapa fungerar fn_MySplit (
 nvarchar @String (4000)
 )
@ValueTable retur bordlägger ([värdera], nvarchar (4000))
börja
 förklara nvarchar @NextString (4000)
 förklara @Pos int
 förklara @NextPos int
 förklara den nvarchar @Delimetereren (1)
 förklara nvarchar @CommaCheck (1)
 
 --Initialisera
 uppsättning som @NextString = '',
 fastställd @Delimeter = ”,”,
 fastställd @CommaCheck = högert (@String, 1) 
 
 --Kontrollera för skugga komma, om inte finns, MELLANLÄGGET
 om (@CommaCheck <> @Delimiter)
  uppsättning som @String = @String + @Delimiter
 
 --Få placerar av det första kommat
 fastställda @Pos = charindex (@Delimiter som @String)
 fastställda @NextPos = 1
 
 --Kretsa stunder där är stilla ett komma i stränga av jämnar
 stunder (@pos <>  0)  
 börja
  uppsättning som @NextString = substring (@String, 1, @Pos - 1)
 
  mellanlägget in i @ValueTable ([värdera],) värderar (@NextString)
 
  uppsättning som @String = substring (som @String, @pos +1, len (@String))
  
  fastställda @NextPos = @Pos
  fastställda @pos  = charindex (@Delimiter som @String)
 avsluta
 
 gå tillbaka
avsluta
Andra lösningar  
 
programming4us programming4us