自己动手丰衣足食,DIY SQL字符串分解函数Split

复制-- ============================================= -- Author: Henson -- Create date: 2011-04-20 -- Description: 字符串分离函数 -- ============================================= ALTERFUNCTION [dbo].[Split] ( @strText varchar(3000),自己足食字符--待分离的原字符串 @strSplit varchar(100)--分隔符 ) RETURNS @tempTable ( ID int IDENTITY PRIMARYKEY, SingleVal varchar(1000) ) AS BEGIN Declare @intLen int--用来存储待分离原字符串长度 Declare @intSplitLen int--分隔符长度 Declare @intIndex int--用来存储分离字符串在原字符串的位置 Declare @strVal varchar(1000)--用来存储分离出来后的字符串 --获取原字符串的长度 Set @intLen = LEN(RTRIM(LTRIM(@strText))) Set @intSplitLen = LEN(RTRIM(LTRIM(@strSplit))) --原字符串不为空,才继续分离 If(@intLen > 0) Begin --循环原字符串,云服务器动手直至原字符串被分离完毕 While CHARINDEX(@strSplit,丰衣@strText)>0 Begin --获取分离字符串在原字符串的位置 Set @intIndex = CHARINDEX(@strSplit,@strText) --获取分离出的字符串,并插入表中 Set @strVal = RTRIM(LTRIM(LEFT(@strText,串分@intIndex-1))) if(LEN(@strVal)>0) Begin InsertInto @temp (SingleVal) values(@strVal) End --分离后,将分离出的香港云服务器解函字符串(包括分隔符)从原字符串中删除 Set @strText = Substring(@strText,@intIndex+@intSplitLen,@intLen-@intIndex) --重新设置原字符串的长度 Set @intLen = LEN(@strText) End --如果分离后的原字符串依然不为空,自己足食字符则也应该插入表中 if(LEN(RTRIM(LTRIM(@strText)))>0) Begin InsertInto @temp (SingleVal) values(@strText) End End return END 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.
本文地址:http://www.bzuk.cn/news/024c7899897.html
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。