Values for <xsd:simpleType> Declarations
The following table outlines the restrictions that are applied, based on all recognized XSD simple type enumerations.
Also, SQL Server does not support the NaN value in <xsd:simpleType> declarations. Schemas that include NaN values are rejected by the server.
Simple type  | 
Limitation  | 
|---|---|
duration  | 
The year part has to be within the range of -2^31 to 2^31-1. The month, day, hour, minute, and second must all be within the range of 0 to 9999. The seconds part has an additional three digits of precision to the right of the decimal point.  | 
dateTime  | 
The hour part in the time zone subfield must be within the accepted range of -14 to +14. The year part must be within the range of 1 to 9999. The month part must be within the range of 1 to 12. The day part must be within the range of 1 to 31 and must be a valid calendar date. For example, SQL Server detects and returns an error for an invalid date, such as 1974-02-31, because the month of February does not have 31 days. The second component supports 100-nanosecond precision. The timezone indication is optional. SQL Server 2005 supported years in the range -9999 to 9999. SQL Server now supports a more restricted range of years. For more information, see Typed XML Compared to Untyped XML.  | 
date  | 
The year part must be within the range of 1 to 9999. The month part must be within the range of 1 to 12. The day part must be within the range of 1 to 31 and must be a valid calendar date. For example, SQL Server detects and returns an error for an invalid date, such as 1974-02-31, because the month of February does not have 31 days. SQL Server 2005 supported years in the range -9999 to 9999. SQL Server now supports a more restricted range of years. For more information, see Typed XML Compared to Untyped XML.  | 
gYearMonth  | 
The year part must be within the range of -9999 to 9999.  | 
gYear  | 
The year part must be within the range of -9999 to 9999.  | 
gMonthDay  | 
The month part must be within the range of 1 to 12. The day part must be within the range of 1 to 31.  | 
gDay  | 
The day part must be within the range of 1 to 31  | 
gMonth  | 
The month part must be within the range of 1 to 12.  | 
decimal  | 
Values of this type must comply with the format of the SQL numeric type. This type internally represents the support of numbers up to a total of 38 digits, with 10 of those digit positions reserved for fractional precision.  | 
float  | 
Values of this type must comply with the format of the SQL real type.  | 
double  | 
Values of this type must comply with the format of the SQL float type.  | 
string  | 
Values of this type must comply with the format of the SQL nvarchar(max) type.  | 
anyURI  | 
Values of this type can be no more than 4000 Unicode characters in length.  |