在sql server中拆分字符串后获取数组长度

时间:2016-06-15 05:04:29

标签: sql sql-server sql-server-2012

我希望能够在SQL Server中拆分字符串。我有一个示例字符串

1012,1012,1012,1012,1012,1012,1012,1012

分割此字符串后需要长度。

Expected output: 8

2 个答案:

答案 0 :(得分:5)

如果您只需要分隔字符串中的项目数,则根本不需要拆分它 - 以下是如何操作:
从原始字符串的长度中删除所有分隔符后,您减去字符串的长度。这将为您提供字符串中的分隔符数。然后你所要做的就是添加一个,因为你还有一个项目然后是分隔符:

DECLARE @String varchar(50) = '1012,1012,1012,1012,1012,1012,1012,1012'

SELECT LEN(@String) - LEN(REPLACE(@String, ',', '')) + 1

答案 1 :(得分:2)

我认为,要找到字符串中的总项目,您可能不需要拆分字符串。只需找到,的出现次数。

<强>查询

declare @string varchar(100)
set @string = '1012,1012,1012,1012,1012,1012,1012,1012'

select len(@string ) - len(replace(@string ,',', '')) + 1;

documentation