需要在sql server裡用到數組這樣的資料結構.而transact-sql沒有内建數組,聽說可以用字元串配合臨時表來實作,自己試了,解決方法如下 :
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZuAjNhVTMlhzMzImMwQ2NjJmM1QWMkdTNlNTZllzMzYTYfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.gif)
create proc [dbo].[CreateArray]
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZuAjNhVTMlhzMzImMwQ2NjJmM1QWMkdTNlNTZllzMzYTYfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.gif)
@string varchar(1024)
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZuAjNhVTMlhzMzImMwQ2NjJmM1QWMkdTNlNTZllzMzYTYfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.gif)
as
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZuAjNhVTMlhzMzImMwQ2NjJmM1QWMkdTNlNTZllzMzYTYfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.gif)
create table #array (id int identity,value varchar(32))
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZuAjNhVTMlhzMzImMwQ2NjJmM1QWMkdTNlNTZllzMzYTYfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.gif)
set @string='insert #array select '''+replace(@string,',','''as str union all select ''')+''''
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZuAjNhVTMlhzMzImMwQ2NjJmM1QWMkdTNlNTZllzMzYTYfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.gif)
exec(@string)
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZuAjNhVTMlhzMzImMwQ2NjJmM1QWMkdTNlNTZllzMzYTYfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.gif)
select * from #array
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZuAjNhVTMlhzMzImMwQ2NjJmM1QWMkdTNlNTZllzMzYTYfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.gif)
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZuAjNhVTMlhzMzImMwQ2NjJmM1QWMkdTNlNTZllzMzYTYfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.gif)
go
執行如下 :
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZuAjNhVTMlhzMzImMwQ2NjJmM1QWMkdTNlNTZllzMzYTYfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.gif)
exec CreateArray 'CChess,Dig,GoBang,LandLord,Majiang'