Share via


2.1.2.84 F555, Enhanced seconds precision

V0120:

The specification states the following:

 Subclause 5.3, "<literal>":
  
 <unsigned integer> ::=
 <digit>...
  
 ...
  
 <time literal> ::=
 TIME <time string>
  
 <timestamp literal> ::=
 TIMESTAMP <timestamp string>
  
 ...
  
 <time string> ::=
 <quote> <unquoted time string> <quote>
  
 ...
  
 <seconds fraction> ::=
 <unsigned integer>
  
 ...
  
 Conformance Rules
  
 Without Feature F555, "Enhanced seconds precision", in conforming SQL language, an <unsigned integer> that is a <seconds fraction> that is contained in a <timestamp literal> shall not contain more than 6 <digit>s.
  
 Without Feature F555, "Enhanced seconds precision", in conforming SQL language, a <time literal> shall not contain a <seconds fraction>.
  
 Subclause 6.1, "<data type>":
  
 <time precision> ::=
 <time fractional seconds precision>
  
 <timestamp precision> ::=
 <time fractional seconds precision>
  
 <time fractional seconds precision> ::=
 <unsigned integer>
  
 ...
  
 Conformance Rules
  
 Without Feature F555, "Enhanced seconds precision", conforming SQL language shall not contain a <time precision> that does not specify 0 (zero).
  
 Without Feature F555, "Enhanced seconds precision", conforming SQL language shall not contain a <timestamp precision> that does not specify either 0 (zero) or 6.
  
 Subclause 6.32, "<datetime value function>":
  
 <current local time value function> ::=
 LOCALTIME [ <left paren> <time precision> <right paren> ]
  
 ...
  
 <current local timestamp value function> ::=
 LOCALTIMESTAMP [ <left paren> <timestamp precision> <right paren> ]
  
 ...
  
 Conformance Rules
  
 Without Feature F555, "Enhanced seconds precision", conforming SQL language shall not contain a <current local time value function> that contains a <time precision> that is not 0 (zero).
  
 Without Feature F555, "Enhanced seconds precision", conforming SQL language shall not contain a <current local timestamp value function> that contains a <timestamp precision> that is neither 0 (zero) nor 6.

Microsoft SQL Server 2008 R2 and Microsoft SQL Server 2012 vary as follows:

Transact-SQL partially supports this feature. Transact-SQL does not support the TIME or TIMESTAMP keywords for literals. However, the seconds fractions in Transact-SQL date and time data types and functions have more than the precision that is required by [ISO/IEC9075-2:2011].