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 im Schema abgeleitet, wie in der folgenden Tabelle dargestellt. (Der Knoten EmployeeID wird zur Veranschaulichung verwendet.)

XSD-Datentyp

XDR-Datentyp

Entsprechung

XPath-Datentyp

Von SQL Server

verwendete Konvertierung

Base64Binary

HexBinary

None

bin.base64bin.hex

Not applicable

Keine

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 anwendbar (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)