Sdílet prostřednictvím


Mapování datových typů XSD na datové typy XPath (SQLXML 4.0)

platí pro:SQL Serverazure SQL Database

Když je dotaz XPath vykonán proti schématu XSD a typ XSD je specifikován v atributu xsd:type , XPath použije datový typ zadaný při zpracování dotazu.

Datový typ uzlu XPath je odvozen z datového typu XSD ve schématu, jak je znázorněno v následující tabulce. (Uzel EmployeeID slouží k ilustraci.)

Datový typ XSD Datový typ XDR Ekvivalentní

Datový typ XPath
SQL Server

Konverze, která se používá
Base64Binary

HexBinary
Nic

bin.base64bin.hex
Nejde použít None

Identifikátor zaměstnance
Booleova logika booleovský booleovský CONVERT(bit, EmployeeID)
Desetinné, celočíselné, float, bajtové, krátké, int, dlouhé, float, double, unsignedByte, unsignedShort, unsignedInt, unsignedLong číslo, 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 KONVERT(nvarchar(4000), EmployeeID, 126)
decimal fixed14.4 Není použitelné (V XPathu neexistuje žádný datový typ ekvivalentní datovému typu fixed14.4 XDR.) KONVERTOVAT(peníze, EmployeeID)
date date string LEFT (KONVERTITA(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)