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

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