专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Sql Server

sql server怎么分割数据

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
sql server如何分割数据?
列test中数据格式为
 testa----test1
 testb----test2
 testc----test3
每行数据 都有分割符号---- 。
现在想将test里的数据分割到  user  和 xingming 列中。

sql语句如何实现?

------解决方案--------------------
select substring(col,0,charindex('----',col)) as [USER],REVERSE 
(substring(REVERSE (col),0,charindex('----',REVERSE(col) ))) AS xingming 
from TB

/*
USER xingming
testa test1
testb test2
testc test3*/

------解决方案--------------------
USE test
GO

-->生成表tb

if object_id('tb') is not null 
drop table tb
Go
Create table tb([test] nvarchar(14),[user] nvarchar(50),[xingming] nvarchar(50))
Insert into tb
Select N'testa----test1',null,null
Union all Select N'testb----test2',null,null
Union all Select N'testc----test3',null,null

UPDATE tb
SET [user]=LEFT(test,CHARINDEX('-',test)-1)
,xingming=RIGHT(test,CHARINDEX('-',REVERSE(test))-1)

select * from tb

/*
test           user   xingming
-------------- ------ ---------
testa----test1 testa  test1
testb----test2 testb  test2
testc----test3 testc  test3
*/

Go
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: