當使用存儲過程接收一個Array參數時,我們可以用下面方法來實作,sql如下。
1 CREATE PROCEDURE [dbo].[str_to_array]
2 (
3 @names NVARCHAR(100)
4 )
5 AS
6 -- 處理傳入參數
7 DECLARE @Params NVARCHAR(100) = REPLACE(@names, ',',''',''')
8 -- 變量SQL語句,使用EXEC來執行
9 EXECUTE('SELECT * FROM [Student] WHERE [name] IN (''' + @Params + ''')')
執行存儲過程指令,如下:
EXECUTE [dbo].[str_to_array] @names = '張三,李四,王五,趙六'
模拟執行:
select REPLACE('張三,李四,王五,趙六', ',',''',''');
執行結果如下:
