Asignar tipos de datos de XSD a tipos de datos de XPath (SQLXML 4.0)
Cuando se ejecuta una consulta XPath con un esquema XSD y se especifica el tipo XSD en el atributo xsd:type, XPath usa el tipo de datos especificado al procesar la consulta.
El tipo de datos XPath de un nodo se deriva del tipo de dato XSD del esquema, como se muestra en la tabla siguiente. (El nodo EmployeeID se usa a modo de ilustración.)
Tipo de datos XSD |
Tipo de datos XDR |
Equivalente Tipo de datos XPath |
SQL Server conversión que se usa |
---|---|---|---|
Base64Binary HexBinary |
None bin.base64bin.hex |
Not applicable |
None 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 |
No aplicable (no hay ningún tipo de datos de XPath que sea equivalente al tipo de datos fixed14.4 de XDR). |
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) |