Ein Literal ist die direkte Darstellung eines Werts. Zeichenliterale müssen in Anführungszeichen gesetzt werden. Numerische Variablen bestehen aus
Numeralen und können auch ein Dezimalzeichen, ein Pluszeichen bzw. ein Minuszeichen oder - im Fall von Gleitkommaliteralen - den Buchstaben 'E' enthalten. Die
nachstehenden Beispiele zeigen numerische Literale in Zuordnungsanweisungen. Weitere Informationen zur Zuordnung von Werten zu Variablen finden Sie unter
Zuordnungen:
- myInt INT = 9;
- myDecimal DECIMAL(6,2) = -256.23;
- myFloat FLOAT = 2.539E7;
Das letzte Beispiel (2.539E7) ist die Kurzform für 2.539 x 10**7 oder 25,390,000.
Die folgende Tabelle zeigt die in EGL geltenden Annahmen im Hinblick auf den Typ eines numerischen Literals:
Tabelle 1. Typen numerischer Literale| Anzahl der Stellen |
Dezimalzahlen? |
Exponent |
Angenommener Typ |
| 1-4 |
N |
N |
SMALLINT |
| 5-9 |
N |
N |
INT |
| 10-18 |
N |
N |
BIGINT |
| x (wobei x>18 ist) |
N |
N |
NUM(x) |
| x (mit y Dezimalstellen) |
J |
N |
DECIMAL(x,y) |
| Beliebig |
Entweder-oder |
J |
FLOAT |
Zeichenliterale können auch ein aus einem Buchstaben bestehendes Präfix enthalten, wie in den nachstehenden Beispielen gezeigt wird. Dieses Präfix ist unter
Umständen erforderlich, wenn Sie ein Literal als Argument in einem Funktionsaufruf verwenden
oder bei einer Steuerungsübertragung, für die ein bestimmter Typ erforderlich ist. Eine Erläuterung dieser Typen finden Sie unter
Primitive-Datentypen:
- C
- Gibt einen Zeichenwert (CHAR) an. C"ABC" ist ein Wert vom Typ CHAR(3).
- M
- Gibt einen Mehrbytezeichenwert (MBCHAR) an. M"ABC" ist ein Wert vom Typ MBCHAR(3).
- D
- Gibt einen Doppelbytezeichenwert (DBCHAR) an. D"ABC" ist ein Wert vom Typ DBCHAR(3) unter der Voraussetzung, dass
A, B und C Doppelbytezeichen sind.
- X
- Gibt einen Hexadezimalwert (HEX) an. X"AB" ist ein Wert vom Typ HEX(2), bei dem ein (1) Byte, 1010 1011, im Binärformat angegeben wird.
Darüber hinaus stehen die folgenden, aus zwei Buchstaben bestehenden Präfixe zur Verfügung, um einen hexadezimalen Codepunkt für ein
nicht druckbares Zeichen anzugeben. Beispiel: Strg+L (Formularvorschubzeichen in ASCII und EBCDIC):
- CX
- CX"0C" ist ein Wert vom Typ CHAR(1) mit einem Formularvorschubzeichen.
- MX
- MX"0C" ist ein Wert vom Typ MBCHAR(1) mit einem Formularvorschubzeichen.
- DX
- DX"8F41" ist ein Beispiel für einen Wert vom Typ DBCHAR(1); bei Verwendung der Codepage 949 wird hierdurch ein koreanisches Zeichen
dargestellt. (DBCHAR-Literale oder -Variablen können keine Einzelbytedaten wie beispielsweise 'hex 0C' enthalten.)
- UX
- UX"000C" ist ein Wert vom Typ UNICODE(1) mit einem Formularvorschubzeichen.
Die folgenden Angaben gelten für Zeichenliterale:
- Ohne Präfix hat ein Zeichenliteral den Typ STRING (Zeichenfolge).
- Es gibt keine UNICODE-Literale mit dem einstelligen Präfix 'U'. Für UNICODE-Literale gibt es ausschließlich das Präfix 'UX'.
- Es gibt keine Möglichkeit, einen hexadezimalen Codepunkt für eine Zeichenfolge (STRING) anzugeben.
Zusätzlich zu numerischen Literalen und Zeichenliteralen stellt EGL auch Feldgruppenliterale bereit. Weitere Informationen hierzu finden Sie unter
Feldgruppen.
Kompatibilität
Tabelle 2. Hinweise zur Kompatibilität für Literale| Plattform |
Problem |
| JavaScript-Generierung |
Die folgenden Typen (gegebenenfalls einschließlich Literalen) werden nicht unterstützt: ArrayDictionary (Feldgruppenwörterverzeichnis),
BIN (mit Dezimalstellen),
BLOB, CHAR, CLOB, DBCHAR, HEX, INTERVAL, MBCHAR, NUMC, STRING
(mit Größenbegrenzung), PACF, UNICODE und strukturierte Datensatzabschnitte |