亿华智慧云亿华智慧云

一个SQL存储过程切割字符串的代码实例

一个SQL存储过程切割字符串的代码实例
复制--------------------------这个函数用来切割字符串的个S过程-----------------   --函数的参数***个参数(@Text)是要切割的字符串第二个参数(@Sign)是要以什么字符串切割   CREATEFUNCTION[dbo].[Split](@TextNVARCHAR(4000),@SignNVARCHAR(4000))   RETURNS@tempTableTABLE(idINTIDENTITY(1,1)PRIMARYKEY,[VALUE]NVARCHAR(4000))   AS   BEGIN   DECLARE@StartIndexINT--开始查找的位置   DECLARE@FindIndexINT--找到的位置   DECLARE@ContentVARCHAR(4000)--找到的值   --初始化一些变量   SET@StartIndex=1--T-SQL中字符串的查找位置是从1开始的   SET@FindIndex=0 --开始循环查找字符串逗号   WHILE(@StartIndex<=LEN(@Text))   BEGIN   --查找字符串函数CHARINDEX***个参数是高防服务器要找的字符串   --第二个参数是在哪里查找这个字符串   --第三个参数是开始查找的位置   --返回值是找到字符串的位置   SELECT@FindIndex=CHARINDEX(@Sign,@Text,@StartIndex)   --判断有没找到没找到返回0   IF(@FindIndex=0OR@FindIndexISNULL)   BEGIN   --如果没有找到者表示找完了   SET@FindIndex=LEN(@Text)+1   END   --截取字符串函数SUBSTRING***个参数是要截取的字符串   --第二个参数是开始的位置   --第三个参数是服务器租用截取的长度   --@FindIndex-@StartIndex表示找的的位置-开始找的位置=要截取的长度   --LTRIM和RTRIM是去除字符串左边和右边的空格函数   SET@Content=LTRIM(RTRIM(SUBSTRING(@Text,@StartIndex,@FindIndex-@StartIndex)))   --初始化下次查找的位置   SET@StartIndex=@FindIndex+1   --把找的的值插入到要返回的源码下载Table类型中   INSERTINTO@tempTable([VALUE])VALUES(@Content)   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.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.73.74.75.76.77.
赞(25)
未经允许不得转载:>亿华智慧云 » 一个SQL存储过程切割字符串的代码实例