记录一下,效率比旧的字符串分割效率高
ALTERFUNCTION[dbo].[UF_SpliteIntToTable]
(
@StringVARCHAR(8000)
)
RETURNS@TableTABLE(IdINT)
AS
BEGIN
DECLARE@SpliteCharASCHAR(1)=',';
WITHTempTableAS
(
SELECTCAST(SUBSTRING(@String,1,CHARINDEX(@SpliteChar,@String,1)-1)ASINT)ASitem,
SUBSTRING(@String,CHARINDEX(@SpliteChar,@String,1)+1,LEN(@String))+@SpliteCharASlist
UNIONALL
SELECTCAST(SUBSTRING(list,1,CHARINDEX(@SpliteChar,list,1)-1)ASINT)ASitem,
SUBSTRING(list,CHARINDEX(@SpliteChar,list,1)+1,LEN(list))ASlist
FROMTempTable
WHERELEN(TempTable.list)>0
)
INSERTINTO@TableSELECTitemFROMTempTableWHEREitem>0
RETURN
END
本文介绍了一个用于SQL的自定义函数UF_SpliteIntToTable,该函数可以将包含逗号分隔整数的字符串高效地拆分成表格形式。通过递归地处理字符串并插入到临时表中,实现了较高的处理效率。
786

被折叠的 条评论
为什么被折叠?



