Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 计算SQL中XML的子标记数_Mysql_Sql Server_Xml_Sqlxml - Fatal编程技术网

Mysql 计算SQL中XML的子标记数

Mysql 计算SQL中XML的子标记数,mysql,sql-server,xml,sqlxml,Mysql,Sql Server,Xml,Sqlxml,从代码发送到SQL server的XML。我的XML格式如下所示: Declare @MainXML XML= '<root> <a>JJ</a> <a>KK</a> </root>' 您能帮我解决这个问题吗?如果您使用的是mssql server,那么您可以利用该支持。通过对解析的XML使用SELECT,可以获得a节点的计数: Declare @MainXML XML = '<

从代码发送到SQL server的XML。我的XML格式如下所示:

Declare @MainXML XML=
    '<root>
    <a>JJ</a>
    <a>KK</a>
    </root>'

您能帮我解决这个问题吗?

如果您使用的是
mssql server
,那么您可以利用该支持。通过对解析的XML使用
SELECT
,可以获得
a
节点的计数:

Declare @MainXML XML =
    '<root>
    <a>JJ</a>
    <a>KK</a>
    </root>'

SELECT COUNT(MainXML.A.value('.', 'VARCHAR(100)')) AS Cnt
FROM @MainXML.nodes('root/a') MainXML(A)
Declare@MainXML=
'
林俊杰
KK
'
选择COUNT(MainXML.A.value('.','VARCHAR(100)')作为Cnt
来自@MainXML.nodes('root/a')MainXML(a)

我会使用
xpath

select @MainXML.query('count(root/a)')

您使用的是什么DBMS?坦率地说,我不建议在数据库方面这样做。
select @MainXML.query('count(root/a)')