将 XSD 数据类型映射到 XPath 数据类型 (SQLXML 4.0)

适用于:SQL Server Azure SQL 数据库

对 XSD 架构执行 XPath 查询并在 xsd:type 属性中指定 XSD 类型时,XPath 将使用在处理查询时指定的数据类型。

节点的 XPath 数据类型从架构中的 XSD 数据类型派生,如下表中所示。 (EmployeeID 节点用于演示目的。)

XSD 数据类型 XDR 数据类型 等效

XPath 数据类型
SQL Server

使用的转换
Base64Binary

HexBinary


bin.base64bin.hex
不适用

EmployeeID
布尔值 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, 实体, 表示法, nmtoken, nmtokens, DateTime, 字符串, AnyURI id, idref, idrefsentity, 实体, 枚举, 表示法, nmtoken, nmtokens, char, dateTime, dateTime.tz, 字符串, uri, uuid string CONVERT(nvarchar(4000), EmployeeID, 126)
decimal fixed14.4 不适用(XPath 中没有等效于固定 14.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)