Share via


2.1.2.71 F421, National character

V0107

The specification states the following:

 Subclause 5.3, "<literal>":
  
 <national character string literal> ::=
 N <quote> [ <character representation>... ]
 <quote> [ { <separator> <quote> [ <character representation>... ] <quote> }... ]
  
 ...
  
 Conformance Rules
  
 Without Feature F421, "National character", conforming SQL language shall not contain a <national character string literal>.
  
 Subclause 6.1, "<data type>":
  
 <national character string type> ::=
 NATIONAL CHARACTER [ <left paren> <character length> <right paren> ]
 | NATIONAL CHAR [ <left paren> <character length> <right paren> ]
 | NCHAR [ <left paren> <character length> <right paren> ]
 | NATIONAL CHARACTER VARYING <left paren> <character length> <right paren>
 | NATIONAL CHAR VARYING <left paren> <character length> <right paren>
 | NCHAR VARYING <left paren> <character length> <right paren>
 | <national character large object type>
  
 <national character large object type> ::=
 NATIONAL CHARACTER LARGE OBJECT [ <left paren> <character large object length> <right
 paren> ]
 | NCHAR LARGE OBJECT [ <left paren> <character large object length> <right paren> ]
 | NCLOB [ <left paren> <character large object length> <right paren> ]
  
 ...
  
 Conformance Rules
  
 Without Feature F421, "National character", conforming SQL language shall not contain a <national character string type>.
  
 Subclause 6.13, "<cast specification>":
  
 <cast specification> ::=
 CAST <left paren> <cast operand> AS <cast target> <right paren>
  
 <cast operand> ::=
 <value expression>
 | <implicitly typed value specification>
  
 <cast target> ::=
 <domain name>
 | <data type>
  
 ...
  
 Conformance Rules
  
 Without Feature F421, "National character", conforming SQL language shall not contain a <cast operand> whose declared type is NATIONAL CHARACTER LARGE OBJECT.
  
 Subclause 6.28, "<numeric value function>":
  
 <length expression> ::=
 <char length expression>
 | <octet length expression>
  
 <char length expression> ::=
 { CHAR_LENGTH | CHARACTER_LENGTH } <left paren> <character value expression>
 [ USING <char length units> ] <right paren>
  
 <octet length expression> ::=
 OCTET_LENGTH <left paren> <string value expression> <right paren>
  
 ...
  
 Conformance Rules
  
 Without Feature F421, "National character", conforming SQL language shall not contain a <length expression> that simply contains a <string value expression> that has a declared type of NATIONAL CHARACTER LARGE OBJECT.
  
 Subclause 6.29, "<string value expression>":
  
 <string value expression> ::=
 <character value expression>
 | <binary value expression>
  
 <character value expression> ::=
 <concatenation>
 | <character factor>
  
 Subclause 8.5, "<like predicate>":
  
 <like predicate> ::=
 <character like predicate>
 | <octet like predicate>
  
 <character like predicate> ::=
 <row value predicand> <character like predicate part 2>
  
 <character like predicate part 2> ::=
 [ NOT ] LIKE <character pattern> [ ESCAPE <escape character> ]
  
 <character pattern> ::=
 <character value expression>
  
 <escape character> ::=
 <character value expression>
  
 ...
  
 Conformance Rules
  
 Without Feature F421, "National character", and Feature T042, "Extended LOB data type support", in conforming SQL language, a <character value expression> simply contained in a <like predicate> shall not be of declared type NATIONAL CHARACTER LARGE OBJECT.

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

Transact-SQL partially supports this feature, including type declarations with ISO syntax, and national character string literals. See the NCHAR [MSDN-NCHAR], NVARCHAR, and NTEXT [MSDN-ntexttextimage] data types for equivalent functionality. Note that NTEXT is deprecated in Transact-SQL.