我有一张看起来像这样的桌子。它有数千行
Name Address LName
Mike_Cole NewYork Null
我想拆分名称并将LastName添加到列LName
。
我的表应该如下:
Name Address LName
Mike_Cole NewYork Cole
答案 0 :(得分:0)
如果是sql server你可以使用
select name, addres RIGHT(name,LEN(name)-CHARINDEX('_',name)) lname
from your_table
答案 1 :(得分:0)
如果你想要在第一个下划线之后的所有内容,你可以这样做:
update t
set LName = substring(name, charindex('_', name + '_') + 1, len(name);
答案 2 :(得分:0)
UPDATE table_name SET LName = RIGHT(Name,LEN(Name) - CHARINDEX('_', Name))
但是,假设名称中只有1个下划线!
这是一个更好的解决方案:
UPDATE table_name SET LName = RIGHT(Name,CHARINDEX('_', REVERSE(Name)) - 1)
还要获得名字:
UPDATE table_name SET FName = LEFT(Name,CHARINDEX('_', Name) - 1)