Поделиться через


Сопоставление типов данных XSD с типами данных XPath (SQLXML 4.0)

Применимо к:База данных SQL ServerAzure SQL

При выполнении запроса XPath к схеме XSD и указан тип XSD в атрибуте xsd:type , XPath использует тип данных, указанный при обработке запроса.

Тип данных XPath для узла выводится из типа данных XSD в схеме, как показано в следующей таблице. (Узел EmployeeID используется в демонстрационных целях.)

Тип данных XSD Тип данных XDR Эквивалентный

тип данных XPath
SQL Server

преобразование не используется
Base64Binary

HexBinary
None

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 строка CONVERT(nvarchar(4000), EmployeeID, 126)
decimal fixed14.4 Неприменимо (в XPath нет типа данных, эквивалентного типу данных XDR fixed14.4.) CONVERT(money, EmployeeID)
date date строка LEFT(CONVERT(nvarchar(4000), EmployeeID, 126), 10)
time time

time.tz
строка SUBSTRING(CONVERT(nvarchar(4000), EmployeeID, 126), 1 + CHARINDEX(N'T', CONVERT(nvarchar(4000), EmployeeID, 126)), 24)