2013-07-08 84 views
0

一個文本內容的一部分。如果我有一個像如何獲得從SQL Server

I Love you and you love me [end] a lot of people hate us 

字符串我怎麼會寫一個T-SQL SELECT聲明,其中我能得到這個角色

I Love you and you love me 
只有

?應該忽略[end]之後的所有內容。

+0

接的[這些](http://msdn.microsoft.com/en-us/library/ms181984.aspx)功能的一個。子串可能?還是離開?結合Charindex? – rene

+0

@Rene - 謝謝。困難在於它不是一個固定長度的字符串。 – user2103670

+0

這可以用charindex解決,看我的回答 – rene

回答

0

這個TSQL語句只使用LEFTCHARINDEXLENCASE

DECLARE @str nvarchar(250) 
    SELECT @str = 'I Love you and you love me [end] a lot of people hate us' 

    SELECT LEFT(@str, 
      case when CHARINDEX('[end]',@str)>0 
       then CHARINDEX('[end]',@str)-1 
      else LEN(@str) end) -- use 0 if you want an empty string to be returned 
+0

感謝錯誤處理。只是一個擴展到這個問題,如果沒有找到[END],我希望它返回整個文本而不是0.我應該怎麼做?我試過SELECT @str而不是0,但是,它不起作用 – user2103670

+0

我知道返回整個字符串 – rene

+0

謝謝 - 我真的很感謝 – user2103670