拆分字符串
来源:互联网 发布:python算法精解 编辑:程序博客网 时间:2024/03/29 07:34
IF OBJECT_ID('tb') IS NOT NULL
DROP TABLE tb
GO
CREATE TABLE tb (id INT,col VARCHAR(30))
INSERT INTO tb VALUES (1,'aa,bb')
INSERT INTO tb VALUES (2,'aaa,bbb,ccc')
go
--1.2000/2005通用方法
SELECT
a.id,
col=SUBSTRING(a.col,number,CHARINDEX(',',a.col+',',number)-b.number)
FROM tb a
JOIN master..spt_values b
ON b.type='p'
--AND SUBSTRING(','+a.col,b.number,1)=',' --用此条件或下面的条件均可
AND CHARINDEX(',',','+a.col,number)=number
--2.2005以上新方法:
SELECT a.id,b.col
FROM (SELECT id,col=CAST('<v>'+REPLACE(col,',','</v><v>')+'</v>' AS xml) FROM tb) a
OUTER APPLY (SELECT col=T.C.value('.','varchar(50)') FROM a.col.nodes('/v') AS T(C)) b
--结果:
/*
id col
----------- --------------------------------------------------
1 aa
1 bb
2 aaa
2 bbb
2 ccc
(5 行受影响)
*/
- 拆分字符串
- 字符串拆分
- 拆分字符串
- 拆分字符串
- 拆分字符串
- 拆分字符串
- 拆分字符串
- 字符串拆分
- 拆分字符串
- 字符串拆分
- 拆分字符串
- 字符串拆分
- 拆分字符串
- 拆分字符串
- Split()拆分字符串与StringTokenizer拆分字符串
- 数字字符串拆分
- 使用PARSENAME拆分字符串
- C#中拆分字符串
- js方法、属性
- centos5中安装cvs服务器
- .NET4.0并行计算技术基础(1)
- 客户就是客户,技术人员在客户那里话不要太多,言多语失
- Connection reset by peer: socket write error
- 拆分字符串
- 并行计算—集群系统问题
- 使用正规表达式编写更好的 SQL
- hashmap
- vi基本操作(1) -- 基本编辑命令
- sqlldr 数据导入
- Learning--初识Fragment Bundles
- 正确使用css
- Flex 性能:将每个Flex应用程序作为Portal (门户)应用程序开发