使用SQL从HTML中提取文本

时间:2014-08-27 14:24:18

标签: sql sql-server

我的数据库表中有HTML,其格式为

 <img style='border-style: none' src='../Images/flag_Green.gif' onmouseover='ddrivetip("<table     border=1 cellpadding=1 width=100%><tr><th nowrap width=20%>My Status</th><th>My Details</th></tr><tr><td>Green</td><td>Compliant - 06-0907370</td></tr></table>", 400, null, this);' onmouseout='hideddrivetip(this)'></img>

我需要从中提取颜色值,例如在这种情况下,它是&#34;绿色&#34; 任何人都可以帮我写一个可以提取这个功能吗?它位于第一个标签

之间

1 个答案:

答案 0 :(得分:1)

使用Tab Alleman建议的SUBSTRING和PATINDEX非常简单。这是你可以做到这一点的一种方式。

declare @String varchar(1000) = '<img style=''border-style: none'' src=''../Images/flag_Green.gif'' onmouseover=''ddrivetip("<table     border=1 cellpadding=1 width=100%><tr><th nowrap width=20%>My Status</th><th>My Details</th></tr><tr><td>Green</td><td>Compliant - 06-0907370</td></tr></table>", 400, null, this);'' onmouseout=''hideddrivetip(this)''></img>'

select SUBSTRING(@String, patindex('%<td>%', @String) + 4, patindex('%</td>%', @String) - patindex('%<td>%', @String) - 4)