Declares a hexadecimal character literal value.
Syntax
[ _character_set ] 'hexadecimal digits' XC [ V | F ]
- _character_set
-
{ _Latin | _Unicode | _KanjiSJIS | _Graphic }
- hexadecimal digits
- A string of hexadecimal digits, where a hexadecimal digit is a character from 0 to 9, a to f, or A to F.
- V
- The hexadecimal literal is in character variable format. This is the default if V or F is not specified.
- F
- The hexadecimal literal is in character fixed format.
ANSI Compliance
Hexadecimal character literals are Teradata extensions to the ANSI SQL:2011 standard.
Definition
Hexadecimal literals consist of 0 to 31000 hexadecimal digits delimited by a matching pair of apostrophes, where a hexadecimal digit is a character from 0 to 9, a to f, or A to F.
Data Types
The modifier following the XC determines the hexadecimal literal data type.
IF a hexadecimal literal uses this form … | THEN the data type is … |
---|---|
'hexadecimal digits'XC 'hexadecimal digits'XCV |
VARCHAR |
'hexadecimal digits'XCF | CHAR |
Usage Notes
A hexadecimal character literal is useful for inserting character strings, such as TAB or BACKSPACE, that cannot generally be entered directly on the terminal keyboard.
- Hexadecimal character literals are represented by an even number of hexadecimal digits. Hexadecimal literals are extended on the right with zeros when semantically required. For example:
_Latin 'C1C'XC = 'C1C0'XC
- As with other character literals, hexadecimal character literals are translated to UNICODE internal form, unless the character set is KANJI1, and then the hexadecimal literal is kept in KANJI1 internal form.
- When a hexadecimal character string is interpreted as _Unicode either explicitly or because it was the default character set, the form of the data is interpreted as UTF-16. Therefore properly paired surrogates, such as _Unicode ‘D800DC00’XC, are treated as supplementary code points and can be used in sessions with Unicode Pass Through enabled. For information about Unicode Pass Through, see Teradata Vantage™ - Advanced SQL Engine International Character Set Support, B035-1125.
- Multiple consecutive character literals (character literals, hexadecimal character literals, and Unicode delimited character literals) are treated as if the strings are concatenated.
Example: Hexadecimal Character Literal
Assume the user default character set is Latin. If the terminal keyboard does not include the brace characters {}, use the following hexadecimal literal to represent “{12}”:
'7B31327D'XC
where 7B represents the brace "{" and 7D represents the brace "}".