Asignar tipos de datos de XSD a tipos de datos de XPath (SQLXML 4.0)
Se aplica a: SQL Server Azure SQL Database
Cuando se ejecuta una consulta XPath en un esquema XSD y el tipo XSD se especifica en el atributo xsd:type , XPath usa el tipo de datos especificado cuando procesa 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 | Tipo de datos de XPath equivalente |
SQL Server conversión que se usa |
---|---|---|---|
Base64Binary HexBinary |
None bin.base64bin.hex |
No aplicable | Ninguno EmployeeID (Id. de empleado) |
Boolean | boolean | boolean | CONVERT (bit, IdEmpleado) |
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 en XPath equivalente al tipo de datos XDR fijo14.4). | 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) |