怎么把输入的以逗号隔开的多个字符串拆开

简介:

SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
/ 
by kudychen 2011-9-28 

CREATE function [dbo].[SplitString] 

@Input nvarchar(max), --input string to be separated 
@Separator nvarchar(max)=',', --a string that delimit the substrings in the input string 
@RemoveEmptyEntries bit=1 --the return value does not include array elements that contain an empty string 

returns @TABLE table 

[Id] int identity(1,1), 
[Value] nvarchar(max) 

as 
begin 
declare @Index int, @Entry nvarchar(max) 
set @Index = charindex(@Separator,@Input) 
while (@Index>0) 
begin 
set @Entry=ltrim(rtrim(substring(@Input, 1, @Index-1))) 
if (@RemoveEmptyEntries=0) or (@RemoveEmptyEntries=1 and @Entry<>'') 
begin 
insert into @TABLE([Value]) Values(@Entry) 
end 
set @Input = substring(@Input, @Index+datalength(@Separator)/2, len(@Input)) 
set @Index = charindex(@Separator, @Input) 
end 
set @Entry=ltrim(rtrim(@Input)) 
if (@RemoveEmptyEntries=0) or (@RemoveEmptyEntries=1 and @Entry<>'') 
begin 
insert into @TABLE([Value]) Values(@Entry) 
end 
return 
end 
使用方法:

declare @str1 varchar(max)
set @str1 = '111,25,38'

select [Value] from SplitString(@str1, ',', 1)









本文转自51GT51CTO博客,原文链接: http://blog.51cto.com/yataigp/2049792,如需转载请自行联系原作者




相关文章
|
8月前
去掉字符串前后空格/去掉字符串中所有空格(包括中间连续空格)/去掉所有全角半角空格/去掉所有全角半角&nbsp;空格
去掉字符串前后空格/去掉字符串中所有空格(包括中间连续空格)/去掉所有全角半角空格/去掉所有全角半角&nbsp;空格
|
8月前
|
移动开发
基于Notepad++ 快速替换 换行符 为 逗号
【5月更文挑战第5天】基于Notepad++ 快速替换 换行符 为 逗号
|
8月前
将字符串以某个分隔符分隔
将字符串以某个分隔符分隔
|
Python
python字符串切分连接(输入一个包含多个单词的英文句子,单词间以空格分隔,标点符号后跟一个空格。定义一个函数,功能是用指定的符号把单词连接起来。)
python字符串切分连接(输入一个包含多个单词的英文句子,单词间以空格分隔,标点符号后跟一个空格。定义一个函数,功能是用指定的符号把单词连接起来。)
1102 0
lodash转换字符串为空格分隔的大写单词
lodash转换字符串为空格分隔的大写单词
91 0
06:空格分隔输出
06:空格分隔输出
162 0
|
存储 算法
算法:编程在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同单词
算法:编程在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同单词
|
机器学习/深度学习 CDN
编写程序统计从键盘输入的一行文本中各个字母的个数。 输入以回车键结束。 不区分大小写,大写字母与相应的小写字母按照同一个字母看待。 要求输出按照各个字母出现的个数从大到小进行排序,出现的个数相同的,按
编写程序统计从键盘输入的一行文本中各个字母的个数。 输入以回车键结束。 不区分大小写,大写字母与相应的小写字母按照同一个字母看待。 要求输出按照各个字母出现的个数从大到小进行排序,出现的个数相同的,按
390 0
去掉多余的空格---输入一个字符串,字符串中可能包含多个连续的空格,请将多余的空格去掉,只留下一个空格。输入格式
输入一个字符串,字符串中可能包含多个连续的空格,请将多余的空格去掉,只留下一个空格。 输入格式 共一行,包含一个字符串。 输出格式 输出去掉多余空格后的字符串,占一行。 数据范围 输入字符串的长度不超过 200200。 保证输入字符串的开头和结尾没有空格。
331 0

热门文章

最新文章