与sql中的完整名分开的数字

时间:2016-04-27 17:00:14

标签: sql sql-server tsql

我有一个带有全名列的表,但是列中的数据也附有数字,我需要在两个不同的列中分隔这两个。这是一个例子。

create table #Test (ID int, name varchar(50))
insert into #Test values
(1, 'Alice,king (00123)'),
(2, 'John,Maxweell (00226)'),
(3, 'Marry,botam (1226)')

从上表中我想在一列中添加fullname,在新列中添加number。我们将非常感谢您的帮助。

1 个答案:

答案 0 :(得分:5)

如果列中的数字始终位于()()中只有一个出现,则此解决方案将有效。

select 
 substring(name,1,charindex('(',name)-1) as name
,substring(name,charindex('(',name)+1,charindex(')',name)-charindex('(',name)-1)  as num
from tablename
where charindex('(',name) > 0 and charindex(')',name) > 0