[英]separating names from a single column
我的专栏看起来像这样
Fullname
--------------------------
Joseph Davis Matthews
Leonardo Maser Davidson
Leo Garces S. Yu
我想分开姓氏以便于搜索,所以我做了这个子串函数
RIGHT(dbo.Fullname, 40) as lastname
我的查询结果显示:
Lastname
---------------------------
Joseph Davis Matthews
Leonardo Maser Davidson
Leo Garces S. Yu
源列是char(40)
,是否有更简单的脚本将列名与列分开?
我正在使用SQL Server 2008
正如@marc_s所提到的,你假设姓氏只是最后一个单词。 假设这是您想要的,您可以通过执行以下操作获取字符串的最后一个单词:
declare @names as table
(
name varchar(40)
)
insert into @Names values ('Joseph Davis Matthews')
insert into @Names values ('Leonardo Maser Davidson')
insert into @Names values ('Leo Garces S. Yu')
SELECT RIGHT(name,
COALESCE(
NULLIF(
CHARINDEX(' ', REVERSE(name)) - 1,
-1),
LEN(name)))
FROM @names
但同样,它假设每个人姓氏只有一个字,这是一个不正确的假设
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.