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)