Freigeben über


Zuordnen von XSD-Datentypen zu XPath-Datentypen (SQLXML 4.0)

Wenn eine XPath-Abfrage für ein XSD-Schema ausgeführt wird und der XSD-Typ im xsd:type-Attribut angegeben ist, verwendet XPath den Datentyp, der bei der Verarbeitung 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

Not applicable

Kein

EmployeeID

Boolean

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

number

CONVERT(float(53), EmployeeID)

id, idref, idrefsentity, entities, notation, nmtoken, nmtokens, DateTime, string, AnyURI

id, idref, idrefsentity, entities, enumeration, notation, nmtoken, nmtokens, char, dateTime, dateTime.tz, string, uri, uuid

string

CONVERT(nvarchar(4000), EmployeeID, 126)

decimal

fixed14.4

Nicht verfügbar (es gibt keinen Datentyp in XPath, der dem fixed14.4 XDR-Datentyp 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)