Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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
Sql server 在SQL中创建列表并对其进行解析_Sql Server_Xml_Sql Server 2008_List - Fatal编程技术网

Sql server 在SQL中创建列表并对其进行解析

Sql server 在SQL中创建列表并对其进行解析,sql-server,xml,sql-server-2008,list,Sql Server,Xml,Sql Server 2008,List,因此,我有一个列1,其中包含XML字符串形式的条目。我的任务是解析这个XML字符串并细分输出以打印字符串中的子节点。 例如 数据集如下所示: <ParameterValues> <ParameterValue> <Name>A</Name> <Value>1</Value> </ParameterValue> &l

因此,我有一个列1,其中包含XML字符串形式的条目。我的任务是解析这个XML字符串并细分输出以打印字符串中的子节点。 例如 数据集如下所示:

<ParameterValues>
        <ParameterValue>
             <Name>A</Name>
             <Value>1</Value>
        </ParameterValue>
        <ParameterValue>
             <Name>B</Name>
             <Value>1</Value>
        </ParameterValue>
        <ParameterValue>
             <Name>C</Name>
             <Value>3</Value>
        </ParameterValue>
</ParameterValues>
我需要打印所有名称的名称列和所有值的值列。 大概是这样的:

<ParameterValues>
        <ParameterValue>
             <Name>A</Name>
             <Value>1</Value>
        </ParameterValue>
        <ParameterValue>
             <Name>B</Name>
             <Value>1</Value>
        </ParameterValue>
        <ParameterValue>
             <Name>C</Name>
             <Value>3</Value>
        </ParameterValue>
</ParameterValues>
名称-值 A-1 B-2 C-3 我遇到了两个困难。 首先,我如何将这个x列表存储在一个列表中,以便通过列表一次解析一个数据集。 第二,一旦我解决了这个问题,我就可以开始工作了

DECLARE @Xml XML = N'<ParameterValues>
                         <ParameterValue>
                             <Name>A</Name>
                             <Value>1</Value>
                          </ParameterValue>
                          <ParameterValue>
                              <Name>B</Name>
                              <Value>1</Value>
                          </ParameterValue>
                          <ParameterValue>
                              <Name>C</Name>
                              <Value>3</Value>
                          </ParameterValue>
                    </ParameterValues>'
结果集
如果您使用的是SQL Server 2005及更高版本、xml数据类型和Xquery,则可以执行此操作。。我在这里写了一些t-sql,试试看。[]非常感谢您,这使它看起来很简单:我知道SQL有一个XML类型,但恕我直言,我最初问我在SQL中创建了多少字符串列表。这个特殊的字符串来自一个查询;从我正在寻找的数据库中选择表以某种方式将此表输出存储到字符串列表中,并且还可以使用您提供的解决方案进一步解决每个字符串。
╔══════╦═══════╗
║ Name ║ Value ║
╠══════╬═══════╣
║ A    ║     1 ║
║ B    ║     1 ║
║ C    ║     3 ║
╚══════╩═══════╝