BIGINT スカラー関数
BIGINT 関数は、さまざまなデータ・タイプの値の、64 ビット整数 (精度 63 ビットの 2 進整数) 表記を返します。
数値から BIGINT へ
ストリングから BIGINT へ
日時から BIGINT へ
ブール値から BIGINT へ
スキーマは SYSIBM です。
- 数値から BIGINT へ
- numeric-expression
- 組み込み数値データ・タイプの値を戻す式。
結果は、引数が big integer の列、または変数に割り当てられた場合の結果と同じ数値になります。 引数の小数部分は切り捨てられます。 引数の整数部分が big integer の範囲内にない場合、エラーが戻されます (SQLSTATE 22003)。
- 組み込み数値データ・タイプの値を戻す式。
- ストリングから BIGINT へ
- ストリング式
- 文字定数の最大長以下の長さの文字ストリングまたは Unicode GRAPHIC ストリング表記の数値の値を戻す式。
結果は、CAST(string-expresssion AS BIGINT) の場合の結果と同じ数値になります。 先行ブランクと末尾ブランクは削除されます。その結果のストリングは、 整数、10 進数、浮動小数点数、または 10 進浮動小数点定数を形成するための規則に準拠していなければなりません (SQLSTATE 22018)。 引数の整数部分が big integer の範囲内にない場合、エラーが戻されます (SQLSTATE 22003)。 string-expression のデータ・タイプは、CLOB または DBCLOB にしてはなりません (SQLSTATE 42884)。
- 文字定数の最大長以下の長さの文字ストリングまたは Unicode GRAPHIC ストリング表記の数値の値を戻す式。
- 日時から BIGINT へ
- 日時式 (datetime-expression)
- 次のデータ・タイプのいずれかの式。
- 日付。 結果は、日付を yyyymmdd で表した BIGINT 値になります。
- TIME。 結果は、時間を hhmmss で表した BIGINT 値になります。
- TIMESTAMP。 結果は、タイム・スタンプを yyyymmddhhmmss で表した BIGINT 値になります。 タイム・スタンプの小数秒の部分は、結果には入っていません。
- 次のデータ・タイプのいずれかの式。
- ブール値から BIGINT へ
- ブール式
- ブール値 (TRUE または FALSE) を返す式。 結果は 1 (TRUE) または 0 (FALSE) です。
結果
関数の結果は 64 ビット整数です。 引数が NULL になる可能性がある場合、結果も NULL になる可能性があります。 引数が NULL であれば、結果は NULL 値です。
注
- アプリケーションの移植性の向上: 最初の引数が数値の場合、または最初の引数がストリングで、長さ引数が指定されている場合は、この関数の代わりに CAST 指定 を使用して、アプリケーションの移植性を高めます。
例
- 例 1: ORDERS_HISTORY 表から、注文の数を数えて結果を 64 ビット整数値として戻します。
SELECT BIGINT (COUNT_BIG(*)) FROM ORDERS_HISTORY
- 例 2: EMPLOYEE 表を使用して、アプリケーションでさらに処理を行うために、EMPNO 列を 64 ビット整数形式で選択します。
SELECT BIGINT (EMPNO) FROM EMPLOYEE
- 例 3: RECEIVED (データ・タイプは TIMESTAMP) 列に、
'1988-12-22-14.07.21.136421' に相当する内部値が入っていると想定します。
結果は、BIGINT(RECEIVED)
19 881 222 140 721
の値になります。 - 例 4: STARTTIME (データ・タイプは TIME) 列に、
'12:03:04' に相当する内部値が入っていると想定します。
結果は、BIGINT(STARTTIME)
120 304
の値になります。 - 例 5: 以下のステートメントは、データ・タイプ BIGINT の値 1 を返します。
values BIGINT(TRUE)
- 例 6: 以下のステートメントは、データ・タイプ BIGINT の値 0 を返します。
values BIGINT(3>3)