在SQL SERVER中实现Split功能的函数,并在存储过程中使用
CREATE?FUNCTION?dbo.SplitString
(@Expression?NVARCHAR(4000),?--要拆分的字符串??????????@Delimiter?NVARCHAR(100),?--拆分符號??????????@n?INT?--要得到已拆分的返回字符串位置)RETURNS?NVARCHAR(4000)ASBEGINDECLARE?@p?INTSET?@p?=?CharIndex(@Delimiter,@Expression)IF?@p?>?0BEGINSET?@p?=?@p?+?Len(@Delimiter)?-?1ENDDECLARE?@i?INTSET?@i?=?1WHILE?@i?<?@nBEGINSET?@i?=?@i?+?1SET?@Expression?=?SubString(@Expression,?@p?+?1,Len(@Expression)?-?@p?)SET?@p?=?CharIndex(@Delimiter,@Expression)IF?@p?>?0BEGIN?SET?@p?=?@p?+?Len(@Delimiter)?-?1ENDELSEBEGINBREAKENDENDDECLARE?@s?NVARCHAR(1000)IF?@p?=?0?AND?@i?=?@nBEGINSET?@s?=?@ExpressionENDELSEIF?@i?=?@nBEGINSET?@s?=?SubString(@Expression,?1,@p?-?Len(@Delimiter))ENDRETURN?@sEND
使用方法:
代碼
DECLARE@stringNVARCHAR(50)SET@string='在|SQL?SERVER|中實(shí)現(xiàn)Split|功能的|函數(shù)|'DECLARE@splitNVARCHAR(4)SET@split='|'SELECTdbo.SplitString?(@string,?@split,?1)???--在SELECTdbo.SplitString?(@string,?@split,?2)???--SQL?SERVERSELECTdbo.SplitString?(@string,?@split,?3)???--中實(shí)現(xiàn)SplitSELECTdbo.SplitString?(@string,?@split,?4)???--功能的SELECTdbo.SplitString?(@string,?@split,?5)???--函數(shù)SELECTdbo.SplitString?(@string,?@split,?6)???--null總結(jié)
以上是生活随笔為你收集整理的在SQL SERVER中实现Split功能的函数,并在存储过程中使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智能电网板块龙头 值得投资者们持续关注
- 下一篇: 天玑820相当于骁龙什么处理器 天玑10