INTEGER スカラー関数

INTEGER 関数は、さまざまなデータ・タイプの値の、長精度整数 (精度 31 ビットの 2 進整数) 表記を返します。

数値から INTEGER へ

構文図を読む構文図をスキップする INTEGER ( numeric-expression )

ストリングから INTEGER へ

構文図を読む構文図をスキップする INTEGER ( string-expression )

日付から INTEGER へ

構文図を読む構文図をスキップする INTEGER ( date-expression )

時刻から INTEGER へ

構文図を読む構文図をスキップする INTEGER ( time-expression )

ブール値から INTEGER へ

構文図を読む構文図をスキップする INTEGER ( boolean-expression )

スキーマは SYSIBM です。

数値から INTEGER へ
numeric-expression
組み込み数値データ・タイプの値を戻す式。

結果は、引数が長精度整数の列、または変数に割り当てられた場合の結果と同じ数値になります。 引数の小数部分は切り捨てられます。引数の整数部分が整数の範囲内にない場合、エラーが戻されます (SQLSTATE 22003)

ストリングから INTEGER へ
string-expression
文字定数の最大長以下の長さを持つ数の文字ストリングまたは Unicode GRAPHIC ストリング表記の値を戻す式。

結果は、CAST(string-expresssion AS INTEGER) の場合の結果と同じ数値になります。 先行ブランクと末尾ブランクは削除されます。その結果のストリングは、整数、10 進数、浮動小数点数、または 10 進浮動小数点定数を形成するための規則に準拠していなければなりません (SQLSTATE 22018)。引数の整数部分が整数の範囲内にない場合、エラーが戻されます (SQLSTATE 22003)。 string-expression のデータ・タイプは、CLOB または DBCLOB にしてはなりません (SQLSTATE 42884)。

日付から INTEGER へ
date-expression
DATE データ・タイプの値を戻す式。 結果は、日付を yyyymmdd で表した INTEGER 値になります。
時刻から INTEGER へ
time-expression
TIME データ・タイプの値を戻す式。 結果は、時間を hhmmss で表した INTEGER 値になります。
ブール値から INTEGER へ
boolean-expression
ブール値 (TRUE または FALSE) を返す式。 結果は 1 (TRUE) または 0 (FALSE) です。

結果

この関数の結果は長精度整数 (large integer) です。 引数が NULL になる可能性がある場合、結果も NULL になる可能性があります。 引数が NULL であれば、結果は NULL 値です。

  • アプリケーションの移植性の向上: 最初の引数が数値である、または最初の引数がストリングで長さ引数が指定されている場合、アプリケーションの移植性を高めるため、この関数ではなく、CAST 指定を使用してください。

  • 例 1: EMPLOYEE 表を使用して、 給与 (SALARY) を学歴 (EDLEVEL) 値で除算した値を示したリストを選択します。 計算では小数部をすべて切り捨てます。 リストには、計算に使用される値と従業員番号 (EMPNO) も入っていなければなりません。 リストは、計算値の降順に配列する必要があります。
       SELECT INTEGER (SALARY / EDLEVEL), SALARY, EDLEVEL, EMPNO
         FROM EMPLOYEE
         ORDER BY 1 DESC
  • 例 2: EMPLOYEE 表を使用して、アプリケーションでさらに処理を行うために、 EMPNO 列を整数形式として選択します。
       SELECT INTEGER(EMPNO) FROM EMPLOYEE
  • 例 3: BIRTHDATE (データ・タイプは DATE) 列に、'1964-07-20' に相当する内部値が入っていると想定します。
       INTEGER(BIRTHDATE)
    結果は 19 640 720 の値になります。
  • 例 4: STARTTIME (データ・タイプは TIME) 列に、 '12:03:04' に相当する内部値が入っていると想定します。
       INTEGER(STARTTIME)
    結果は 120 304 の値になります。
  • 例 5: 以下のステートメントは、データ・タイプ INTEGER の値 1 を返します。
       values INTEGER(TRUE)
  • 例 6: 以下のステートメントは、データ・タイプ INTEGER の値 0 を返します。
       values INTEGER(3>3)