Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Se o nome da coluna for um dos testes de nó XPath, o conteúdo é mapeado conforme mostrado na tabela seguinte. Quando o nome da coluna corresponde a um teste de nó XPath, o conteúdo é mapeado para o respetivo nó. Se o tipo SQL da coluna for xml, é devolvedo um erro.
| Nome da Coluna | Comportamento |
|---|---|
| text() | Para uma coluna com o nome text(), o valor da cadeia de caracteres nessa coluna é adicionado como um nó de texto. |
| comentário() | Para uma coluna com o nome de comentário(), o valor da cadeia nessa coluna é adicionado como um comentário XML. |
| node() | Para uma coluna com o nome de node(), o resultado é igual ao quando o nome da coluna é um carácter coringa (*). |
| instrução-de-processamento(name) | Para uma coluna com o nome de uma instrução de processamento, o valor da string nessa coluna é somado como valor PI para o nome do alvo da instrução de processamento. |
A seguinte consulta mostra a utilização dos testes de node como nomes de colunas. Adiciona nós de texto e comentários no XML resultante.
USE AdventureWorks2022;
GO
SELECT E.BusinessEntityID "@EmpID",
'Example of using node tests such as text(), comment(), processing-instruction()' as "comment()",
'Some PI' as "processing-instruction(PI)",
'Employee name and address data' as "text()",
'middle name is optional' as "EmpName/text()",
FirstName as "EmpName/First",
MiddleName as "EmpName/Middle",
LastName as "EmpName/Last",
AddressLine1 as "Address/AddrLine1",
AddressLine2 as "Address/AddrLIne2",
City as "Address/City"
FROM HumanResources.Employee AS E
INNER JOIN Person.Person AS P
ON P.BusinessEntityID = E.BusinessEntityID
INNER JOIN Person.BusinessEntityAddress AS BAE
ON BAE.BusinessEntityID = E.BusinessEntityID
INNER JOIN Person.Address AS A
ON BAE.AddressID = A.AddressID
WHERE E.BusinessEntityID=1
FOR XML PATH;
Este é o resultado:
<row EmpID="1">
<!--Example of using node tests such as text(), comment(), processing-instruction() -->
<?PI Some PI?>
Employee name and address data
<EmpName>middle name is optional
<First>Ken</First>
<Last>Sánchez</Last>
</EmpName>
<Address>
<AddrLine1>4350 Minute Dr.</AddrLine1>
<City>Minneapolis</City>
</Address>
</row>