Mapeando tipos de dados XSD para tipos de dados XPath (SQLXML 4.0)
Quando uma consulta XPath é executada com relação a um esquema XSD e o tipo XSD é especificado no atributo xsd:type, o XPath usa o tipo de dados especificado quando processa a consulta.
O tipo de dados XPath de um nó é derivado do tipo de dados XSD no esquema, conforme mostra tabela a seguir. (O nó de EmployeeID é usado para fins meramente ilustrativos.)
Tipo de dados XSD |
Tipo de dados XDR |
Tipo de dados XPath equivalente |
Conversão do SQL Server que é usada |
---|---|---|---|
Base64Binary HexBinary |
None bin.base64bin.hex |
Not applicable |
Nenhuma. 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 |
N/D (Não há nenhum tipo de dados no XPath equivalente ao tipo de dados XDR fixed14.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) |