Сопоставление типов данных XSD с типами данных XPath (SQLXML 4.0)
Если запрос XPath выполняется для схемы XSD, а тип XSD задан в атрибуте xsd:type, то XPath использует заданный тип данных при обработке запроса.
Тип данных XPath для узла выводится из типа данных XSD в схеме, как показано в следующей таблице. (Узел EmployeeID используется в демонстрационных целях.)
Тип данных XSD |
Тип данных XDR |
Эквивалентный тип данных XPath |
SQL Server преобразование, которое используется |
---|---|---|---|
Base64Binary HexBinary |
Отсутствует bin.base64bin.hex |
Неприменимо |
Отсутствует 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 |
Неприменимо (в XPath нет типа данных, эквивалентного типу fixed14.4 в 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) |