很多时候 我们需要把一个字符串按某个字符拆分,写一个数据库函数,就不用在代码中拆分完了,循环的调用数据库,一步完成,大大增加了程序的效率。
SELECT ID FROM DBO.FUN_SPLIT('1,2,3,4,5,6',',')
CREATE FUNCTION [dbo].[FUN_SPLIT](
@STR VARCHAR(8000),
@FLAG VARCHAR(8000)
)
RETURNS @RE TABLE(ID VARCHAR(8000))
AS
BEGIN
WHILE CHARINDEX(@FLAG,@STR)>0
BEGIN
INSERT INTO @RE
SELECT SUBSTRING(@STR,0,CHARINDEX(@FLAG,@STR))
SELECT @STR = SUBSTRING(@STR,CHARINDEX(@FLAG,@STR)+1,LEN(@STR))
END
INSERT INTO @RE
SELECT @STR
RETURN;
END