SQL :字符串拆分 字段
本帖最后由 lfz860110 于 2013-05-28 17:40:25 编辑 表A中有一条记录,字段名refName是字符串类型
refName值为: "zhangsan,lisi,wangwu" 这个字符串中个数不完全只有3个。
id refName
1 "zhangsan,lisi,wangwu"
我现在需要得到一个数据集
id refName
1 zhangsan
2 lisi
3 wangwu
用一条SQL查询语句能实现么?
求教高手
[解决办法]
----------------------------
-- Author :DBA_Huangzj(發糞塗牆)
-- Date :2013-05-28 17:42:16
-- Version:
-- Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64)
--Jun 17 2011 00:54:03
--Copyright (c) Microsoft Corporation
--Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1, v.721)
--
----------------------------
--> 测试数据:[a]
if object_id('[a]') is not null drop table [a]
go
create table [a]([id] int,[refName] varchar(20))
insert [a]
select 1,'zhangsan,lisi,wangwu'
--------------开始查询--------------------------
SELECT id ,
SUBSTRING([refName], number, CHARINDEX(',', [refName] + ',', number) - number) AS [refName]
FROM [a] a ,
master..spt_values
WHERE number >= 1
AND number < LEN([refName])
AND type = 'p'
AND SUBSTRING(',' + [refName], number, 1) = ','
----------------结果----------------------------
/*
id refName
----------- --------------------
1 zhangsan
1 lisi
1 wangwu
*/