
复制--------------------------这个函数用来切割字符串的个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.