Tsql substring / charindex

时间:2014-06-18 19:45:44

标签: sql-server tsql substring charindex

我有以下文字字段,我试图在“评论者”之后提取名称。我怎样才能在TSQL中执行此操作? 他的信息如下:

<p>Assessed By: Joe Thomas</p>
<p>Reviewed By: Fred Smith</p>
<p>The end of document</p>

1 个答案:

答案 0 :(得分:1)

如果你想使用变量传递的不同字符串更灵活,你可以这样做。

  DECLARE @Mytext AS VARCHAR(200) 
SET @Mytext = '<p>Assessed By: Joe Thomas</p>
<p>Reviewed By: Fred Smith</p>
<p>The end of document</p>'

SELECT LEFT(RIGHT(@Mytext, 42), CHARINDEX('<', RIGHT(@Mytext, 42)) - 1) 

/ *或者为了使其更加健壮,您可以计算索引值        而不是传递固定值,在这种情况下为42。        12是文本的长度&lt; Review By:* /

    SELECT LEFT(RIGHT(@Mytext, (LEN(@Mytext) - 
    PATINDEX('%Reviewed By:%', @Mytext)) - 12), 
    CHARINDEX('<', RIGHT(@Mytext,LEN(@Mytext) - 
    PATINDEX ('%Reviewed By:%', @Mytext) - 12)) - 1)