2010-07-26 33 views
2

我如何從第n個字向前在sql服務器中提取單詞?提取第n個字向前

例如。

|說明|
|這是一件很好的禮服|

起提取第4個字,會輸出「象樣的衣服」

回答

4
with sentences as 
(
select 'short sentence' as sentence UNION ALL 
select 'This is a nice dress' as sentence UNION ALL 
select 'The quick brown fox jumped over the lazy dog' as sentence 
) 

SELECT 
SUBSTRING(sentence, 
CHARINDEX(' ', sentence,CHARINDEX(' ', sentence, CHARINDEX(' ', sentence)+1)+1), 
LEN(sentence)) AS WordFourOnwards 
FROM sentences 
WHERE patindex('[^ ]% [^ ]% [^ ]% [^ ]%',sentence) > 0 
1

如果你自己構建的方法,你會發現第三空間的字符串中的位置,然後採取從該位置正確的字符串。

編輯:CHARINDEX的組合()和子串()等

+0

涼爽。謝謝,我會試試看。 :) – marilyn 2010-07-26 10:07:21