## Literal (literal)

Ein Literal (literal) ist ein unbenanntes Datenobjekt, das durch seinen Wert vollständig bestimmt ist (spezifiziert einen Nicht-NULL-Wert). Der Wert von Literalen ist unveränderbar. Es werden Stringliterale und numerische Literale unterschieden.

### 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

Stringliterale
'69190 Walldorf'
'Anton Schmitt'
X'12ab'

Numerische Literale
+0.58498
1E160
-765E-04

### Erläuterung

Ein numerisches Literal numeric_literal ist ein Literal, das eine Zahl in Festkomma- oder Gleitkommadarstellung angibt.

Ein Stringliteral string_literal ist ein Literal, das aus einer Folge von Zeichen besteht, die in Apostrophe eingeschlossen sind. Gegebenenfalls kann ein Stringliteral durch ein vorangestelltes x oder X als hexadezimal gekennzeichnet werden.

Ein Apostroph innerhalb einer Zeichenkette wird durch zwei aufeinanderfolgende Apostrophs dargestellt.

Ein Stringliteral der Art '<character>...' oder '' ist nur für einen Wert zulässig, der eine alphanumerische Spalte mit dem Codeattribut ASCII betrifft.

Ein hexadezimaler Wert hex_literal ist nur für einen Wert zulässig, der eine Spalte mit dem Codeattribut BYTE betrifft.

Ein Stringliteral der Art '', x''und X'' und Stringliterale, die nur Leerzeichen enthalten, entsprechen nicht dem NULL-Wert.

Siehe auch:

Zeichensatz (token)

Datentyp (data_type)