一个文本内容的一部分。如果我有一个像如何获得从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]
之后的所有内容。
一个文本内容的一部分。如果我有一个像如何获得从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]
之后的所有内容。
这个TSQL语句只使用LEFT,CHARINDEX,LEN和CASE
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
感谢错误处理。只是一个扩展到这个问题,如果没有找到[END],我希望它返回整个文本而不是0.我应该怎么做?我试过SELECT @str而不是0,但是,它不起作用 – user2103670
我知道返回整个字符串 – rene
谢谢 - 我真的很感谢 – user2103670
接的[这些](http://msdn.microsoft.com/en-us/library/ms181984.aspx)功能的一个。子串可能?还是离开?结合Charindex? – rene
@Rene - 谢谢。困难在于它不是一个固定长度的字符串。 – user2103670
这可以用charindex解决,看我的回答 – rene