由于ms sql server 中沒有提供split 函數(shù),所以自定義一個SplitStr函數(shù),用來實(shí)現(xiàn)同樣功能。
CREATE FUNCTION [dbo].[SplitStr](@String varchar(8000), @Delimiter char(1)) returns @temptable TABLE (items varchar(8000)) as begin declare @idx int declare @slice varchar(8000) select @idx = 1 if len(@String)<1 or @String is null return while @idx!= 0 begin set @idx = charindex(@Delimiter,@String) if @idx!=0 set @slice = left(@String,@idx - 1) else set @slice = @String if(len(@slice)>0) insert into @temptable(Items) values(@slice) set @String = right(@String,len(@String) - @idx) if len(@String) = 0 break end return end調(diào)用方式 SELECT * FROM Split(‘2,4,7’,’,’), 由于返回結(jié)果為 table 類型,所以直接在from 位置調(diào)用該函數(shù)。
新聞熱點(diǎn)
疑難解答