我需要SQL Server 2014中的一个函数或过程,它可以读取(<?>
)此示例的符号标记之间的内容。
感谢。
<ul>how are you?</ul>
输出1:应为ul
或/ul
这可能吗?
答案 0 :(得分:0)
如果您的要求太简单而无法在标签之间读取内容,那么您可以使用以下逻辑:
declare @str varchar(200) = '<ul>how are you?</ul>'
select SUBSTRING(@str, CHARINDEX('<', @str) + 1, CHARINDEX('>', @str) - CHARINDEX('<', @str) -1)
但是,如果您在同一个字符串中有多个标记,则无法使用此功能。 如果您需要处理更复杂的场景,可以使用xquery。我认为此链接可能会帮助您这样做:xquery to return the element name
答案 1 :(得分:0)
您可以使用[sidgupta234@sidgupta234-Lenovo-G580 Downloads]$ python -V
Python 3.5.2 :: Continuum Analytics, Inc.
XPath function:
local-name
输出:
DECLARE @x xml = '<ul>how are you?</ul>'
SELECT s.d.value('local-name(.)','nvarchar(100)') as TagName,
s.d.value('.','nvarchar(100)') as SomeValue
FROM @x.nodes('/*') as s(d)