SQL server 2008查询时,通过,分隔字符串
时间: 2024-05-03 07:17:21 浏览: 19
在 SQL Server 2008 中,可以使用内置的函数 `STRING_SPLIT` 来分割字符串。但是,如果你的 SQL Server 版本低于 2016,则可以使用以下代码来实现类似的功能:
```sql
DECLARE @String VARCHAR(100) = 'A,B,C,D,E'
DECLARE @Delimiter CHAR(1) = ','
;WITH Split(stpos,endpos) AS (
SELECT 0 AS stpos, CHARINDEX(@Delimiter,@String) AS endpos
UNION ALL
SELECT endpos+1, CHARINDEX(@Delimiter,@String,endpos+1)
FROM Split
WHERE endpos > 0
)
SELECT SUBSTRING(@String,stpos,COALESCE(NULLIF(endpos,0),LEN(@String)+1)-stpos) AS value
FROM Split
```
在这个例子中,我们首先声明了一个字符串变量 `@String`,并且使用逗号作为分隔符。我们使用 `CHARINDEX` 函数来查找分隔符的位置,并递归地分割字符串,直到找到最后一个分隔符。
最后,我们将分割后的字符串存储在临时表中,并使用 `SUBSTRING` 函数将其提取出来。