Mappage des types de données XSD en types de données XPath (SQLXML 4.0)
S’applique à : SQL ServerAzure SQL Database
Lorsqu’une requête XPath est exécutée sur un schéma XSD et que le type XSD est spécifié dans l’attribut xsd :type , XPath utilise le type de données spécifié lorsqu’il traite la requête.
Le type de données Xpath d'un nœud est dérivé du type de données XSD dans le schéma, comme l'illustre le tableau ci-dessous. (Le nœud EmployeeID est utilisé à des fins d'illustration.)
Type de données XSD | Type de données XDR | Équivalent Type de données XPath |
SQL Server conversion utilisée |
---|---|---|---|
Base64Binary HexBinary |
Aucun bin.base64bin.hex |
Non applicable | Aucune EmployeeID |
Booléen | 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 | numéro | 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 applicable (Il n’existe aucun type de données dans XPath équivalent au type de données XDR fixe14.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) |