Mapping dei tipi di dati XSD ai tipi di dati XPath (SQLXML 4.0)
Quando viene eseguita una query XPath su uno schema XSD e il tipo XSD è specificato nell'attributo xsd:type, XPath utilizza il tipo di dati specificato durante l'elaborazione della query.
Il tipo di dati XPath di un nodo viene derivato dal tipo di dati XSD nello schema, come illustrato nella tabella seguente. A scopo illustrativo, viene utilizzato il nodo EmployeeID.
Tipo di dati XSD |
Tipo di dati XDR |
Equivalente Tipo di dati XPath |
SQL Server utilizzata |
---|---|---|---|
Base64Binary HexBinary |
None bin.base64bin.hex |
Not applicable |
Nessuno 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 |
Non disponibile (in XPath non è disponibile alcun tipo di dati equivalente al tipo di dati 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) |