读书人

SQL话语拆分表中内容并变成两列

发布时间: 2013-07-01 12:33:04 作者: rapoo

SQL语句拆分表中内容,并变成两列
如何通过sql语句,把一列中的数据读出来,并把字母和数字分开,变成两列,比如:
Column1
A123
B23
BD21
拆分后变为:
Col1 Col2
A 123
B 23
BD 21 sql 拆分数据列
[解决办法]
try

select
col1=left(Column1,patindex('%[0-9]%',Column1)-1),
col2=substring(Column1,patindex('%[0-9]%',Column1),len(Column1)-patindex('%[0-9]%',Column1)+1)
from tb

[解决办法]
select
col1=CASE WHEN patindex('%[0-9]%',Column1)=0 THEN Column1 ELSE left(Column1,patindex('%[0-9]%',Column1)-1) END,
col2=substring(Column1,patindex('%[0-9]%',Column1),len(Column1)-patindex('%[0-9]%',Column1)+1)
from tb

[解决办法]

create table mg
(Column1 varchar(10))

insert into mg
select 'A123' union all
select 'B23' union all
select 'BD21'


select substring(Column1,1,patindex('%[0-9]%',Column1)-1) 'Col1',
substring(Column1,patindex('%[0-9]%',Column1),10) 'Col2'
from mg

/*
Col1 Col2
---------- ----------
A 123
B 23
BD 21

(3 row(s) affected)
*/

读书人网 >SQL Server

热点推荐