我有以下文本字段,并试图在“审阅者”之后提取名称。我如何在 TSQL 中做到这一点?他的信息如下:
<p>Assessed By: Joe Thomas</p>
<p>Reviewed By: Fred Smith</p>
<p>The end of document</p>
我有以下文本字段,并试图在“审阅者”之后提取名称。我如何在 TSQL 中做到这一点?他的信息如下:
<p>Assessed By: Joe Thomas</p>
<p>Reviewed By: Fred Smith</p>
<p>The end of document</p>
如果你想让它更灵活地处理你可以通过变量传递的不同字符串,你可以做这样的事情。
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)