Select Col1,Left(Col2,CharIndex('|',col2)-1) As Col2 from TableName
Union All
Select Col1,Stuff(Col2,1,CharIndex('|',col2),'') from TableName
Order By col1,col2
解决方案 »
- 请教一个查询的问题
- 拒绝了对对象 sp_helprole的EXECUTE权限
- 根据输入日期间隔不同调用不同存储过程怎么实现?
- 一个查询库存的问题。
- 在SQL数据库的表中怎么样建立一个“auto_increment”的字段啊?????
- 请问怎样获知每个表在数据库中所占的大小?
- 如何选择出一条记录有多少个数据(这条记录的非空数据的列数)?
- 恢复数据库时,登录用户的问题
- 在SQL Server7.0里如何实现将数据库自动备份至磁带机???
- ORA-01630:表空间505中的temp段达到max # extents(TEMP)
- 怎么由一个表更新另一个表的数据?在线等
- 请问删除一个主键再建立一个的语句如何写?
--示例数据
create table tb(col1 varchar(10),col2 varchar(10))
insert tb select 'A','x|y'
union all select 'B','m|n'
go--查询
select col1,col2=left(col2,charindex('|',col2+'|')-1) from tb
union all
select col1,col2=stuff(col2,1,charindex('|',col2+'|'),'') from tb where charindex('|',col2)>0
order by col1
go--删除测试
drop table tb/*--结果
col1 col2
---------- --------
A x
A y
B n
B m(所影响的行数为 4 行)
--*/
--示例数据
create table tb(col1 varchar(10),col2 varchar(10))
insert tb select 'A','x|y'
union all select 'B','m|n'
go--查询
select col1,col2=left(col2,charindex('|',col2+'|')-1) from tb
union all
select col1,col2=stuff(col2,1,charindex('|',col2+'|'),'') from tb where charindex('|',col2)>0
order by col1,col2
go--删除测试
drop table tb/*--结果col1 col2
---------- -------
A x
A y
B m
B n(所影响的行数为 4 行)
--*/
Create Table TEST
(col1 Varchar(10),
col2 Varchar(10))
--插入数据
Insert TEST Values('A', 'x|y')
Insert TEST Values('B', 'm|n')
--测试
Select Col1,Left(Col2,CharIndex('|',Col2)-1) As Col2 from TEST
Union All
Select Col1,Stuff(Col2,1,CharIndex('|',Col2),'') from TEST
Order By Col1,Col2
--删除测试环境
Drop Table TEST
--结果
/*
Col1 Col2
A x
A y
B m
B n
*/