Sql 字串分析器函數
-- =============================================-- Create function Fun_SplitStr, 該函數功能為將以某個分割符分割的字串轉換為表的形式-- @StrSource 用於儲存要分析的字串-- @StrSeprate 用於儲存分割符-- @temp 用於返回分析的結果(table)-- 如 @StrSource =‘123,456’ ; @StrSeprate =‘,’ ,則返回為 一個表:第一行為123、第二行456-- =============================================IF EXISTS (SELECT * FROM sysobjects WHERE name = N'Fun_SplitStr') DROP FUNCTION Fun_SplitStrGOCREATE FUNCTION Fun_SplitStr (@StrSource varchar(8000),@StrSeprate varchar(10)) returns @temp table(F1 varchar(100)) as begindeclare @i intset @StrSource=rtrim(ltrim(@StrSource))set @i=charindex(@StrSeprate,@StrSource)while @i>=1begininsert @temp values(left(@StrSource,@i-1))set @StrSource=substring(@StrSource,@i+1,len(@StrSource)-@i)set @i=charindex(@StrSeprate,@StrSource)endif @StrSource<>'' begin insert @temp values(@StrSource)endreturn end GO
執行個體代碼:
-- =============================================-- Example to execute function-- =============================================SELECT * FROM dbo.Fun_SplitStr('1,2',',')GO
結果為: