我的SQL表中有以下列:
CAST([content_html] AS XML).query('/root/Physicians/picture/img') AS [Image]
产生这个:
<img alt="Basil Abdeljaber" src="/uploadedImages/svr/physicians/images/Image - Abdelj.JPG?n=2086" />
在SQL中有什么方法可以在src="
和"
之间提取字符串,所以我留下:/uploadedImages/svr/physicians/images/Image - Abdel.JPG?n=2086
答案 0 :(得分:3)
只需将您的SQL更改为:
CAST([content_html] AS XML).value('(root/Physicians/picture/img/@src)[1]','varchar(255)') AS [Image]
查询/ root / Physicians / picture / img-node的src属性。
答案 1 :(得分:2)
试试这个:
SELECT SUBSTRING([Image], CHARINDEX('src="', [Image]) + 4, (CHARINDEX('"', [Image], CHARINDEX('src="', [Image]) + 5)) - (CHARINDEX('src="', [Image]) + 4))
以下是它的工作原理:SUBSTRING
有三个参数:
因此,在上面的代码中,第一个参数是您的[Image]
列。第二个参数使用CHARINDEX
来获取子短语src="
的索引,然后将4
添加到该短语以便跳过该子短语。第三个采用结束引号"
的索引减去我们已经找到的src="
的索引,它给出了子串的长度。