次の方法で共有


XSD データ型から XPath データ型へのマッピング [SQLXML 4.0]

XSD スキーマに対して XPath クエリを実行するときに、xsd:type 属性に XSD のデータ型が指定されている場合は、XPath でクエリが処理されるときに、指定のデータ型が使用されます。

ノードの XPath データ型は、次の表に示すように、スキーマ内に指定されている XSD データ型から派生します。ここでは説明のため、EmployeeID というノードを使用します。

XSD データ型 XDR データ型 同等の XPath データ型 使用される SQL Server 変換

Base64Binary

HexBinary

なし

bin.base64bin.hex

N/A

なし

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/A (XDR データ型 fixed14.4 に相当する XPath のデータ型はありません。)

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)