这适用于 MS SQL Server 2008。
IF OBJECT_ID('tempdb..#TempTable') IS NOT NULL
drop table #TempTable
create table #TempTable (studentID int, BitValue int)
declare @var nvarchar(max)
set @var='1:0,2:1,3:1,4:0'
set @var='insert into #TempTable values ('+REPLACE(REPLACE(@var,',','),('), ':', ',')+')'
exec (@var)
select * from #TempTable
drop table #TempTable
对于 MS SQL Server 2005,请尝试:
IF OBJECT_ID('tempdb..#TempTable') IS NOT NULL
drop table #TempTable
create table #TempTable (studentID int, BitValue int)
declare @var nvarchar(max)
set @var='1:0,2:1,3:1,4:0'
--set @var=REPLACE(@var,',','),(')
set @var='insert into #TempTable values ('+REPLACE(REPLACE(@var,',','); insert into #TempTable values('), ':', ',')+')'
exec (@var)
select * from #TempTable
drop table #TempTable