Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Ha az oszlopnév az XPath-csomóponttesztek egyike, a tartalom megfeleltetése az alábbi táblázatban látható módon történik. Ha az oszlopnév egy XPath-csomópont teszt, a tartalmat a megfelelő csomópontra képezzük le. Ha az oszlop SQL-típusa xml, a rendszer hibát ad vissza.
| Az oszlop neve | Magatartás |
|---|---|
| szöveg() | Szöveg() nevű oszlop esetén az oszlop sztringértéke szövegcsomópontként lesz hozzáadva. |
| megjegyzés() | Megjegyzés() nevű oszlop esetén az oszlop sztringértéke XML-megjegyzésként lesz hozzáadva. |
| csomópont() | Csomópont() névre hallgató oszlop esetében az eredmény ugyanaz, mint amikor az oszlop neve egy helyettesítő karakter (*). |
| feldolgozási utasítás(név) | Egy feldolgozási utasítás nevével rendelkező oszlop esetében a rendszer a feldolgozási utasítás célnevének PI-értékeként adja hozzá az oszlopban lévő sztringértéket. |
Az alábbi lekérdezés a csomóponttesztek oszlopnevekként való használatát mutatja be. Szöveges csomópontokat és megjegyzéseket ad hozzá az eredményként kapott XML-fájlhoz.
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;
Ez az eredmény:
<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>