首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2013-07-01 
SQL语句拆分表中内容,并变成两列如何通过sql语句,把一列中的数据读出来,并把字母和数字分开,变成两列,比如

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)
*/

热点排行