分隔符处理用SQL Server处理用逗号分隔符字符串(sqlserver用逗号)
SQL Server处理用逗号分隔符字符串
作为有经验的 SQL Server 开发人员,你应该知道,在一个字符串中用逗号分隔的值的最佳处理方法是什么。SQL Server有一个专门处理这种场景的函数——STRING_SPLIT()。它可以将一个用逗号分隔的字符串转换成一个表,我们可以将其转换成一个表格的格式,以便我们后续进行操作。
STRING_SPLIT() 带有两个必需参数,参数一传入要处理的字符串,参数二为分隔符,可以是字符或字符组。STRING_SPLIT()返回一个表,它有一个唯一的列,它称为value,这是其控制台输出图。
![STRING_SPLIT()返回的表][1]
接下来,我们将分析SQL Server中STRING_SPLIT()函数处理用逗号分隔字符串的示例。假定我们有一个示例表tableA,它有一列name,存放用于字符串处理的字段。其中的数据如下:
| id | name |
|—-|——-|
| 1 | A, B, C|
我们的目的是为了将 name 列中的字符串A、B、C分解为单个字段,下面是一个用STRING_SPLIT()函数处理实现这个目的的示例:
SELECT id, value
FROM tableA
CROSS APPLY STRING_SPLIT(tableA.name, ‘,’)
SQL执行的结果如下:
| id | value |
|—-|——–|
| 1 | A |
| 1 | B |
| 1 | C |
使用 STRING_SPLIT()函数,我们从name列中分离出A、B、C这三个字段,我们将它们以表格格式放入一个新的结果表中,然后就可以进行后续的操作了。
总结,STRING_SPLIT()函数是一种处理SQL Server中用逗号分隔的字符串的十分有用的函数,它可以把一个逗号分隔的字符串拆分为多个字段,让我们更轻松地对它们进行管理与操作。
[1]: https://i.postimg.cc/GtrrXXvq/string-split-result.png