我有一个带有全名列的表,但是列中的数据也附有数字,我需要在两个不同的列中分隔这两个。这是一个例子。
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
。我们将非常感谢您的帮助。
答案 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