sqlserver sql语句,截取逗号之后的数据
时间: 2024-10-16 16:11:24 浏览: 51
SQL Server 中,如果你想从包含逗号分隔值的列中截取数据,特别是当它们存储的是字符串数组或CSV(Comma Separated Values)格式的数据时,可以使用内置的 STRING_SPLIT 函数或者一些字符串函数配合操作。
例如,假设你有一个名为 `YourTable` 的表,其中有个字段叫 `ValuesColumn`,它存储了像这样的数据:`'value1,value2,value3'`,你可以使用以下几种方法:
1. **STRING_SPLIT** 函数(SQL Server 2016及以上版本):
```sql
SELECT value
FROM (
SELECT value = value_column.value
FROM YourTable,
STRING_SPLIT(YourTable.ValuesColumn, ',')
) AS result
```
这将返回一个单独的结果集,每个值都是独立的一行。
2. **使用 PATINDEX 和 SUBSTRING** (较早版本):
```sql
SELECT SUBSTRING(YourTable.ValuesColumn, PATINDEX('%,(%,' + replace(replace(YourTable.ValuesColumn, ',', ',' + char(13) + char(10)), '(', '(' + char(13) + char(10)) + ')', 1), LEN(YourTable.ValuesColumn))
FROM YourTable
```
这里我们查找第一个逗号的位置,然后提取其后的部分。
阅读全文