Zuordnen von XSD-Datentypen zu XPath-Datentypen (SQLXML 4.0)
Gilt für: SQL Server
Azure SQL-Datenbank
Wenn eine XPath-Abfrage für ein XSD-Schema ausgeführt wird und der XSD-Typ im xsd:type-Attribut angegeben wird, verwendet XPath den Datentyp, der beim Verarbeiten der Abfrage angegeben wird.
Der XPath-Datentyp eines Knotens wird vom XSD-Datentyp in dem Schema abgeleitet, wie in der folgenden Tabelle dargestellt. (Der Knoten "EmployeeID" dient zur Veranschaulichung.)
XSD-Datentyp | XDR-Datentyp | Entsprechung XPath-Datentyp |
SQL Server verwendete Konvertierung |
---|---|---|---|
Base64Binary HexBinary |
None bin.base64bin.hex |
Nicht zutreffend | Keine EmployeeID |
Boolescher Wert | boolean | boolean | CONVERT(bit, EmployeeID) |
Decimal, integer, float, byte, short, int, long, float, double, unsignedByte, unsignedShort, unsignedInt, unsignedLong | number, int, float,i1, i2, i4, i8,r4, r8ui1, ui2, ui4, ui8 | Zahl | CONVERT(float(53), EmployeeID) |
id, idref, idrefsentity, entities, notation, nmtoken, nmtokens, DateTime, string, AnyURI | id, idref, idrefsentity, entities, enumeration, notation, nmtokens, char, dateTime, dateTime.tz, string, uri, uuid | string | CONVERT(nvarchar(4000), EmployeeID, 126) |
decimal | fixed14.4 | Nicht zutreffend (Es gibt keinen Datentyp in XPath, der dem XDR-Datentyp fixed14.4 entspricht.) | CONVERT(money, EmployeeID) |
date | date | string | LEFT(CONVERT(nvarchar(4000), EmployeeID, 126), 10) |
time | time time.tz |
string | SUBSTRING(CONVERT(nvarchar(4000), EmployeeID, 126), 1 + CHARINDEX(N'T', CONVERT(nvarchar(4000), EmployeeID, 126)), 24) |