Share via


2.1.2.94 F692, Enhanced collation support

V0130:

The specification states the following:

 Subclause 10.7, "<collate clause>":
  
 <collate clause> ::=
 COLLATE <collation name>
  
 Subclause 11.4, "<column definition>":
  
 <column definition> ::=
 <column name> [ <data type or domain name> ]
 [ <default clause> | <identity column specification> | <generation clause> ]
 [ <column constraint definition>... ]
 [ <collate clause> ]
  
 ...
  
 Conformance Rules
  
 Without Feature F692, "Extended collation support", conforming SQL language shall not contain a <column definition> that immediately contains a <collate clause>.
  
 Subclause 11.34, "<domain definition>":
  
 <domain definition> ::=
 CREATE DOMAIN <domain name> [ AS ] <predefined type>
 [ <default clause> ]
 [ <domain constraint>... ]
 [ <collate clause> ]
  
 ...
  
 Conformance Rules
  
 Without Feature F692, "Extended collation support", conforming SQL language shall not contain a <domain definition> that immediately contains a <collate clause>.
  
 Subclause 11.52, "<attribute definition>":
  
 <attribute definition> ::=
 <attribute name> <data type>
 [ <attribute default> ]
 [ <collate clause> ]
  
 ...
  
 Conformance Rules
  
 Without Feature F692, "Extended collation support", conforming SQL language shall not contain an <attribute definition> that immediately contains a <collate clause>.

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

Transact-SQL partially supports this feature. Transact-SQL supports the COLLATE clause in column definitions, but not in domain definitions or attribute definitions, which do not exist in Transact-SQL.

See [ISO/IEC9075-2:2011] for the definition of "column".