我正在尝试从列值中检索第二个到最后一个单词。
我用过两个
[desc],
REVERSE( LEFT( REVERSE([Desc]), CHARINDEX(' ', REVERSE([Desc]))-1 ) ) [Last Name],
(
ltrim(substring([desc],charindex(' ',[desc]), CHARINDEX(' ',ltrim(SUBSTRING([desc],charindex(' ',[desc]),LEN([desc])-charindex(' ',REVERSE( left( REVERSE([Desc]), CHARINDEX(' ', REVERSE([Desc]))-1 ) ))))) ))
) [First Name]
但我只是从句子的前面和句子的最后一个单词得到第二个单词。我的大脑只是没有计算我需要做的事情。字符串中的最后两个单词是名字和姓氏。
答案 0 :(得分:2)
我想我只想在网上查找SplitString()
函数并使用它:
select t.*
from (select t.*, row_number() over (partition by t.id order by ind desc) as seqnum
from table t outer apply
splitstring(t.[desc])(str, ind)
) t
where seqnum = 2;