-4

我有以下文本字段,并试图在“审阅者”之后提取名称。我如何在 TSQL 中做到这一点?他的信息如下:

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

1 回答 1

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 是文本的长度 'Reviewed By: */

    SELECT LEFT(RIGHT(@Mytext, (LEN(@Mytext) - 
    PATINDEX('%Reviewed By:%', @Mytext)) - 12), 
    CHARINDEX('<', RIGHT(@Mytext,LEN(@Mytext) - 
    PATINDEX ('%Reviewed By:%', @Mytext) - 12)) - 1)
于 2014-06-19T00:28:44.183 回答