リテラルは、値の直接表記です。文字リテラルは引用符で囲みます。
数値変数は数字で構成され、小数点、正負符号 (+、-)、または文字「E」(浮動小数点リテラルの場合) も含めることができます。
代入文における数値リテラルの例を以下に示します。変数への値の代入について詳しくは、
代入を参照してください。
- myInt INT = 9;
- myDecimal DECIMAL(6,2) = -256.23;
- myFloat FLOAT = 2.539E7;
最後の例 2.539E7 は、2.539 x 10**7、または 25,390,000 の簡略表記です。
下の表に、数値リテラルの型に関して EGL が想定している内容を示します。
表 1. 数値リテラルの型| 桁数 |
10 進数 |
指数 |
想定する型 |
| 1 から 4 |
N |
N |
SMALLINT |
| 5 から 9 |
N |
N |
INT |
| 10 から 18 |
N |
N |
BIGINT |
| x (ここで x>18) |
N |
N |
NUM(x) |
| x (小数点以下の桁数は y ) |
Y |
N |
DECIMAL(x,y) |
| any |
いずれか |
Y |
FLOAT |
文字リテラルには、以下の例のような 1 文字プレフィックスも含めることができます。
特定の型が必要になる関数呼び出しや制御権移動においてリテラルを引数として使用する場合、このプレフィックスが必要になる場合があります。
これらの型の説明については、
プリミティブ・データ型を参照してください。
- C
- CHAR の値を指定します。C"ABC" は CHAR(3) です。
- M
- MBCHAR の値を指定します。M"ABC" は MBCHAR(3) です。
- D
- DBCHAR の値を指定します。D"ABC" は DBCHAR(3) であり、A、B、C は 2 バイト文字とします。
- X
- HEX の値を指定します。X"AB" は、バイナリーで 1 バイト、1010 1011 を指定する HEX(2) です。
さらに、次の 2 文字のプレフィックスを使用して、Ctrl+L、ASCII および EBCDIC の書式送り文字などの印刷不能文字に対する 16 進数のコード・ポイントを示すことができます。
- CX
- CX"0C" は、書式送り文字を含む CHAR(1) です。
- MX
- MX"0C" は、書式送り文字を含む MBCHAR(1) です。
- DX
- DX"8F41" は DBCHAR(1) の例です。コード・ページ 949 を使用する場合、韓国語文字を表します。 (DBCHAR リテラルまたは変数には、16 進数 0C のような 1 バイトのデータを含めることができません)。
- UX
- UX"000C" は、書式送り文字を含む UNICODE(1) です。
以下の詳細事項が文字リテラルに適用されます。
- プレフィックスを付けない場合、文字リテラルは STRING 型になります。
- U プレフィックスのみが付いた UNICODE リテラルはありません。UNICODE リテラルでは、UX プレフィックスのみです。
- STRING に 16 進数のコード・ポイントを指示する方法はありません。
さらに、数値リテラルおよび文字リテラルについて、EGL では配列リテラルも用意されています。この件について詳しくは、配列 を参照してください。
互換性
表 2. リテラルの互換性に関する考慮事項| プラットフォーム |
問題 |
| JavaScript 生成 |
サポートされないデータ型は、ArrayDictionary、BIN (小数点以下の桁数を含むもの)、BLOB、CHAR、CLOB、DBCHAR、HEX、INTERVAL、MBCHAR、NUMC、STRING (サイズ制限を含むもの)、PACF、UNICODE、および構造化されたレコード・パーツです (必要に応じてリテラルが含まれます)。 |