SQL Server 2008 R2 中的 T-SQL 字符串拆分
SQL Server 2008 R2 缺乏内置的字符串分割功能,使得逗号分隔的字符串处理变得困难。 本文演示了使用自定义函数的强大解决方案。
创建自定义拆分函数
以下 dbo.splitstring
函数有效地分割逗号分隔的字符串:
<code class="language-sql">CREATE FUNCTION dbo.splitstring (@stringToSplit VARCHAR(MAX)) RETURNS @returnList TABLE ([Name] [nvarchar](500)) AS BEGIN DECLARE @name NVARCHAR(255), @pos INT; WHILE CHARINDEX(',', @stringToSplit) > 0 BEGIN SELECT @pos = CHARINDEX(',', @stringToSplit); SELECT @name = SUBSTRING(@stringToSplit, 1, @pos - 1); INSERT INTO @returnList SELECT @name; SELECT @stringToSplit = SUBSTRING(@stringToSplit, @pos + 1, LEN(@stringToSplit) - @pos); END INSERT INTO @returnList SELECT @stringToSplit; RETURN; END;</code>
函数使用
要使用该函数,只需将要分割的字符串作为参数传递即可:
<code class="language-sql">SELECT * FROM dbo.splitstring('91,12,65,78,56,789');</code>
这将生成一个表格,其中每个逗号分隔的值位于单独的行中:
|名称 | |---|---| | 91 | 91 | 12 | 12 | 65 | 65 | 78 | 78 | 56 | 56 |第789章|
此自定义函数提供了一种在 SQL Server 2008 R2 限制内处理逗号分隔字符串的可靠方法。
以上是如何在SQL Server 2008 R2中有效拆分逗号限制的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!