## Literal

A literal (literal) is an unknown data object that is defined fully by virtue of its value (specifies a non-NULL value). You cannot change the value of a literal. A distinction is made between string literals and numeric literals.

### Syntax

<literal> ::= <numeric_literal>
| <string_literal>

<numeric_literal> ::= <fixed_point_literal>
| <floating_point_literal>

<string_literal> ::= ''
| '<character>...'
| <hex_literal>

<hex_literal> ::= x''
| X''
| x'<hex_digit_seq>'
| X'<hex_digit_seq>'

<hex_digit_seq> ::= <hex_digit><hex_digit>
| <hex_digit_seq><hex_digit><hex_digit>

<hex_digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
| A | B | C | D | E | F
| a | b | c | d | e | f

String literals
'69190 Walldorf'
'Anthony Smith'
X'12ab'

Numeric literals
+0.58498
1E160
-765E-04

### Explanation

A numeric literal (numeric_literal) is a number represented as a fixed or floating point number.

A string literal (string_literal) is a sequence of characters in quotation marks. String literals can also be represented in hexadecimal notation by preceding them with x or X.

An apostrophe within a character string is represented by two successive apostrophes.

A string literal of the type '<character>...' or '' is only valid for a value referring to an alphanumeric column with the code attribute ASCII.

A hexadecimal value (hex_literal) is only valid for a value referring to a column with the code attribute BYTE.

A string literal of the type '', x'', and X'' , and string literals that only contain blanks are not the same as the NULL value.

See also:

Character Set (token)

Data Type (data_type)