Annotated XML schema decomposition enables XML values to be stored in columns of tables. XML values can be decomposed only into compatible SQL columns. The following table lists which XML schema types are compatible with which SQL column types.
XML schema type | SQL type | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
S |
I |
B |
R |
D |
D |
D |
D |
D |
T |
T |
C |
V |
L |
C |
G |
V |
L |
D |
C |
B |
V |
L |
|
string, normalizedString, token | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 3 | 4 | 6 | 5 | 5 | 5 | 6a | 5a | 5a | 5a | 7a | 7 | 7 | 7 |
base64Binary, hexBinary | - | - | - | - | - | - | - | - | - | - | - | 8a | 8 | 8 | 8 | - | - | - | - | 8c | 8b | 8b | 8b |
byte, unsigned byte | 0a | 0a | 0a | 0a | 0a | 0a | 0a | 0a | - | - | - | 9a* | 9* | 9* | 9* | - | - | - | - | - | - | - | - |
integer, positiveInteger, negativeInteger, nonNegativeInteger, nonPositiveInteger | 10 | 10 | 10 | 11 | 11 | 11 | 10 | 10 | - | - | - | 9a* | 9* | 9* | 9* | - | - | - | - | - | - | - | - |
int | 10 | 0a | 0a | 11 | 11 | 0a | 0a | 0a | - | - | - | 9a* | 9* | 9* | 9* | - | - | - | - | - | - | - | - |
unsignedInt | 10 | 10 | 0a | 11 | 11 | 0a | 0a | 0a | - | - | - | 9a* | 9* | 9* | 9* | - | - | - | - | - | - | - | - |
long | 10 | 10 | 0a | 11 | 11 | 11 | 10 | 0a | - | - | - | 9a* | 9* | 9* | 9* | - | - | - | - | - | - | - | - |
unsignedLong | 10 | 10 | 10 | 11 | 11 | 11 | 10 | 0a | - | - | - | 9a* | 9* | 9* | 9* | - | - | - | - | - | - | - | - |
short | 0a | 0a | 0a | 0a | 0a | 0a | 0a | 0a | - | - | - | 9a* | 9* | 9* | 9* | - | - | - | - | - | - | - | - |
unsignedShort | 10 | 0a | 0a | 0a | 0a | 0a | 0a | 0a | - | - | - | 9a* | 9* | 9* | 9* | - | - | - | - | - | - | - | - |
decimal | 21 | 21 | 21 | 11 | 11 | 11 | 11 | 11 | - | - | - | 9a* | 9* | 9* | 9* | - | - | - | - | - | - | - | - |
float | 22 | 22 | 22 | 17 | 16 | 17 | 0a | 0a | - | - | - | 9a* | 9* | 9* | 9* | - | - | - | - | - | - | - | - |
double | 22 | 22 | 22 | 16 | 16 | 17 | 11 | 11 | - | - | - | 9a* | 9* | 9* | 9* | - | - | - | - | - | - | - | - |
boolean | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | - | - | - | 9a* | 9* | 9* | 9* | - | - | - | - | - | - | - | - |
time | - | - | - | - | - | - | - | - | - | 14 | - | 13a* | 13* | 13* | 13* | - | - | - | - | - | - | - | - |
dateTime | - | - | - | - | - | - | - | - | 15 | 15 | 19 | 13a* | 13* | 13* | 13* | - | - | - | - | - | - | - | - |
duration, gMonth, gYear, gDay, gMonthDay, gYearMonth | - | - | - | - | - | - | - | - | - | - | - | 13a | 13 | 13 | 13 | - | - | - | - | - | - | - | - |
date | - | - | - | - | - | - | - | - | 20 | - | - | 13a* | 13* | 13* | 13* | - | - | - | - | - | - | - | - |
Name, NCName, NOTATION, ID, IDREF, QName, NMTOKEN, ENTITY | - | - | - | - | - | - | - | - | - | - | - | 6 | 5 | 5 | 5 | 6a | 5a | 5a | 5a | 7a | 7 | 7 | 7 |
ENTITIES, NMTOKENS, IDREFS, list types | - | - | - | - | - | - | - | - | - | - | - | 6b | 5b | 5b | 5b | 6c | 5c | 5c | 5c | 7c | 7b | 7b | 7b |
anyURI | - | - | - | - | - | - | - | - | - | - | - | 18a | 18 | 18 | 18 | - | - | - | - | 7a | 7 | 7 | 7 |
language | - | - | - | - | - | - | - | - | - | - | - | 6 | 5 | 5 | 5 | - | - | - | - | 7a | 7 | 7 | 7 |
anySimpleType, union types | - | - | - | - | - | - | - | - | - | - | - | 6d | 5d | 5d | 5d | 6e | 5e | 5e | 5e | 7e | 7d | 7d | 7d |
anyType | - | - | - | - | - | - | - | - | - | - | - | 6d | 5d | 5d | 5d | 6e | 5e | 5e | 5e | 7e | 7d | 7d | 7d |