プライマリ・コンテンツに移動
Oracle® Call Interfaceプログラマーズ・ガイド
12c リリース1 (12.1)
B72465-07
目次へ移動
目次
索引へ移動
索引

前
次

OCI NUMBER関数

OCI NUMBER関数をリストし、説明します。

表19-11は、この項で説明しているOCI NUMBER関数を示しています。

関連項目:

OCINumberの例

表19-11 NUMBER関数

関数 用途

OCINumberAbs()

絶対値を計算します。

OCINumberAdd()

NUMBERNUMBERに加算します

OCINumberArcCos()

アーク・コサインを計算します。

OCINumberArcSin()

アーク・サインを計算します。

OCINumberArcTan()

アーク・タンジェントを計算します。

OCINumberArcTan2()

NUMBERの指定した2つの引数のアーク・タンジェントを計算します

OCINumberAssign()

1つのNUMBERを別のNUMBERに代入します。

OCINumberCeil()

NUMBERの上限値を計算します。

OCINumberCmp()

1つのNUMBERと別のNUMBERを比較します

OCINumberCos()

コサインを計算します。

OCINumberDec()

NUMBERを減分します

OCINumberDiv()

NUMBERNUMBERで除算します

OCINumberExp()

eを指定のOracle NUMBERで累乗します。

OCINumberFloor()

NUMBERの下限値を計算します。

OCINumberFromInt()

整数をOracle NUMBERに変換します。

OCINumberFromReal()

実数型をOracle NUMBERに変換します。

OCINumberFromText()

文字列をOracle NUMBERに変換します。

OCINumberHypCos()

双曲線コサインを計算します。

OCINumberHypSin()

双曲線サインを計算します。

OCINumberHypTan()

双曲線タンジェントを計算します。

OCINumberInc()

Oracle NUMBERを増分します。

OCINumberIntPower()

指定の基数を整数で累乗します。

OCINumberIsInt()

NUMBERが整数かどうかをテストします。

OCINumberIsZero()

NUMBERが0 (ゼロ)かどうかを確認します。

OCINumberLn()

自然対数を計算します。

OCINumberLog()

任意の基数に対する対数を計算します。

OCINumberMod()

2つのOracle NUMBERの除算の余り(剰余)を取得します。

OCINumberMul()

1つのOracle NUMBERに別のOracle NUMBERに乗算します

OCINumberNeg()

Oracle NUMBERを負の数にします。

OCINumberPower()

指定の基数を指定の指数で累乗します。

OCINumberPrec()

NUMBERを指定の小数点以下の桁数に丸めます。

OCINumberRound()

Oracle NUMBERを指定の小数点以下の桁数に丸めます。

OCINumberSetPi()

NUMBERをpiに初期化します。

OCINumberSetZero()

NUMBERを0 (ゼロ)に初期化します。

OCINumberShift()

10の累乗を乗算し、小数点以下を指定の桁数にします。

OCINumberSign()

Oracle NUMBERの符号を取得します。

OCINumberSin()

サインを計算します。

OCINumberSqrt()

NUMBERの平方根を計算します。

OCINumberSub()

NUMBERNUMBERから減算します

OCINumberTan()

タンジェントを計算します。

OCINumberToInt()

Oracle NUMBERを整数に変換します。

OCINumberToReal()

Oracle NUMBERを実数型に変換します。

OCINumberToRealArray()

NUMBERの配列を実際の配列に変換します。

OCINumberToText()

Oracle NUMBERを文字列に変換します。

OCINumberTrunc()

Oracle NUMBERを指定の小数点以下の桁数で切り捨てます。

OCINumberAbs()

用途

Oracle NUMBERの絶対値を計算します。

構文

sword OCINumberAbs ( OCIError              *err,
                     const OCINumber       *number, 
                     OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

入力NUMBERです。

result (OUT)

入力NUMBERの絶対値です。

戻り値

この関数は、NUMBER引数にNULLがある場合はエラーを戻します。

関連関数

OCIErrorGet()

OCINumberAdd()

NUMBERを別のNUMBERに加算します。

用途

NUMBERを別のNUMBERに加算します。

構文

sword OCINumberAdd ( OCIError              *err,
                     const OCINumber       *number1, 
                     const OCINumber       *number2,
                     OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number1、number2 (IN)

最初のNUMBERが2番目のNUMBERに加算されます。

result (OUT)

number1number2に加算した結果です。

戻り値

この関数は、NUMBER引数にNULLがある場合はエラーを戻します。

OCINumberArcCos()

用途

Oracle NUMBERのアーク・コサインをラジアン単位で求めます。

構文

sword OCINumberArcCos ( OCIError            *err, 
                        const OCINumber     *number, 
                        OCINumber           *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

アーク・コサインの引数です。

result (OUT)

ラジアンのアーク・コサインの結果です。

戻り値

NUMBER引数がNULLである場合、numberが-1より小さい場合、またはnumberが1より大きい場合には、この関数はエラーを戻します。

OCINumberArcSin()

用途

Oracle NUMBERのアーク・サインをラジアン単位で求めます。

構文

sword OCINumberArcSin ( OCIError              *err,
                        const OCINumber       *number, 
                        OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

アーク・サインの引数です。

result (OUT)

ラジアンのアーク・サインの結果です。

戻り値

NUMBER引数がNULLである場合、numberが-1より小さい場合、またはnumberが1より大きい場合には、この関数はエラーを戻します。

OCINumberArcTan()

用途

Oracle NUMBERのアーク・タンジェントをラジアン単位で求めます。

構文

sword OCINumberArcTan ( OCIError             *err, 
                        const OCINumber      *number, 
                        OCINumber            *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

アーク・タンジェントの引数です。

result (OUT)

ラジアンのアーク・タンジェントの結果です。

戻り値

この関数は、NUMBER引数にNULLがある場合はエラーを戻します。

OCINumberArcTan2()

Oracle NUMBERの指定した2つの引数のアーク・タンジェントを取得します。

用途

Oracle NUMBERの指定した2つの引数のアーク・タンジェントを取得します。

構文

sword OCINumberArcTan2 ( OCIError              *err, 
                         const OCINumber       *number1, 
                         const OCINumber       *number2,
                         OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number1 (IN)

アーク・タンジェントの引数1です。

number2 (IN)

アーク・タンジェントの引数2です。

result (OUT)

ラジアンのアーク・タンジェントの結果です。

戻り値

この関数は、NULLNUMBER引数がある場合、またはnumber2が0 (ゼロ)の場合はエラーを戻します。

OCINumberAssign()

用途

1つのOracle NUMBERを別のOracle NUMBERに代入します。

構文

sword OCINumberAssign ( OCIError              *err,
                        const OCINumber       *from, 
                        OCINumber             *to );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

from (IN)

割当て対象のNUMBERです。

to (OUT)

コピー先のNUMBERです。

コメント

fromによって識別されたNUMBERtoによって識別されたNUMBERに代入します。

戻り値

この関数は、NUMBER引数にNULLがある場合はエラーを戻します。

OCINumberCeil()

用途

Oracle NUMBERの上限値を計算します。

構文

sword OCINumberCeil ( OCIError              *err, 
                      const OCINumber       *number, 
                      OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

入力NUMBERです。

result (OUT)

入力NUMBERの上限値を含む出力です。

戻り値

この関数は、NUMBER引数にNULLがある場合はエラーを戻します。

OCINumberCmp()

1つのOracle NUMBERを別のOracle NUMBERと比較します。

用途

1つのOracle NUMBERを別のOracle NUMBERと比較します。

構文

sword OCINumberCmp ( OCIError            *err,
                     const OCINumber     *number1, 
                     const OCINumber     *number2,
                     sword               *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number1、number2 (IN)

最初のNUMBERが2番目のNUMBERと比較されます。

result (OUT)

表19-12に指定したような比較結果です。

表19-12 OCINumberCmp()のresultパラメータによって戻される比較結果

比較結果 resultパラメータの出力

number1 < number2

負数

number1 = number2

0

number1 > number2

正数

戻り値

この関数は、NUMBER引数にNULLがある場合はエラーを戻します。

OCINumberCos()

用途

Oracle NUMBERのコサインをラジアン単位で計算します。

構文

sword OCINumberCos ( OCIError              *err,
                     const OCINumber       *number, 
                     OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

ラジアンのコサインの引数です。

result (OUT)

コサインの結果です。

戻り値

この関数は、NUMBER引数にNULLがある場合はエラーを戻します。

OCINumberDec()

用途

Oracle NUMBERを適切に減分します。

構文

sword OCINumberDec ( OCIError  *err, 
                     OCINumber *number );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN/OUT)

減分される正数のOracle NUMBERです。

コメント

Oracle NUMBERを適切に減分します。入力値は0から100^21-2の整数であるとみなされます。入力値が大きすぎる場合は0 (ゼロ)として扱われ、その結果、Oracle NUMBERは1になります。入力値が正の整数でない場合は、予想できない結果になります。

戻り値

この関数は、入力NUMBERNULLがある場合はエラーを戻します。

関連関数

OCINumberInc()

OCINumberDiv()

1つのOracle NUMBERを別のOracle NUMBERで除算します。

用途

1つのOracle NUMBERを別のOracle NUMBERで除算します。

構文

sword OCINumberDiv ( OCIError               *err,
                     const OCINumber        *number1, 
                     const OCINumber        *number2,
                     OCINumber              *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number1 (IN)

分子へのポインタです。

number2 (IN)

分母へのポインタです。

result (OUT)

除算結果です。

コメント

number1number2で除算し、その結果をresultに戻します。

戻り値

この関数は、次のいずれかの文がTRUEである場合はエラーを戻します。

  • NUMBER引数にNULLがある場合。

  • アンダーフロー・エラーがある場合。

  • ゼロによる除算エラーがある場合。

OCINumberExp()

用途

eを指定のOracle NUMBERで累乗します。

構文

sword OCINumberExp ( OCIError              *err, 
                     const OCINumber       *number,
                     OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

この関数は、eをこのOracle NUMBERで累乗します。

result (OUT)

指数の出力です。

戻り値

この関数は、NUMBER引数にNULLがある場合はエラーを戻します。

OCINumberFloor()

用途

Oracle NUMBERの下限(切捨て)値を計算します。

構文

sword OCINumberFloor ( OCIError              *err,
                       const OCINumber       *number, 
                       OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

入力NUMBERです。

result (OUT)

入力NUMBERの下限(切捨て)値です。

戻り値

この関数は、NUMBER引数にNULLがある場合はエラーを戻します。

OCINumberFromInt()

用途

整数をOracle NUMBERに変換します。

構文

sword OCINumberFromInt ( OCIError            *err,
                         const void          *inum, 
                         uword               inum_length,
                         uword               inum_s_flag,
                         OCINumber           *number );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

inum (IN)

変換する整数へのポインタです。

inum_length (IN)

整数のサイズです。

inum_s_flag (IN)

整数の符号を指定するフラグで、可能な値は次のとおりです。

  • OCI_NUMBER_UNSIGNED- 符号なしの値

  • OCI_NUMBER_SIGNED- 符号付きの値

number (OUT)

Oracle NUMBERに変換される指定の整数です。

コメント

これは、システム固有な型変換関数です。ub4sb2などのOracle標準システム固有の整数型をOracle NUMBERに変換します。

戻り値

数値が大きすぎてOracle NUMBERに適合しない場合、numberまたはinumNULLの場合、あるいはinum_s_flagに無効な符号フラグの値が渡された場合は、この関数はエラーを戻します。

OCINumberFromReal()

用途

実数(浮動小数点数)型をOracle NUMBERに変換します。

構文

sword OCINumberFromReal ( OCIError           *err,
                          const void         *rnum,
                          uword              rnum_length,
                          OCINumber          *number );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

rnum (IN)

変換する浮動小数点数へのポインタです。

rnum_length (IN)

目的の結果のサイズです。sizeof({float | double | long double})に等しくなります。

number (OUT)

Oracle NUMBERに変換される指定のfloatです。

コメント

これは、システム固有な型変換関数です。システム固有の浮動小数点型をOracle NUMBERに変換します。

戻り値

この関数は、numberまたはrnumNULLであるか、rnum_lengthが0 (ゼロ)である場合はエラーを戻します。

OCINumberFromText()

文字列をOracle NUMBERに変換します。

用途

文字列をOracle NUMBERに変換します。

構文

sword OCINumberFromText ( OCIError           *err, 
                          const OraText      *str, 
                          ub4                 str_length,
                          const OraText      *fmt,
                          ub4                 fmt_length, 
                          const OraText      *nls_params, 
                          ub4                 nls_p_length, 
                          OCINumber          *number );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

str (IN)

Oracle NUMBERに変換する入力文字列です。

str_length (IN)

入力文字列のサイズです。

fmt (IN)

変換書式です。

fmt_length (IN)

fmtパラメータの長さです。

nls_params (IN)

グローバリゼーション・サポートのフォーマット指定です。NULL文字列("")の場合は、セッションのデフォルト・パラメータが使用されます。

nls_p_length (IN)

nls_paramsパラメータの長さです。

number (OUT)

NUMBERに変換される指定の文字列です。

コメント

指定された文字列を指定の書式のNUMBERに変換します。書式および多言語パラメータの詳細は、『Oracle Database SQL言語リファレンス』TO_NUMBER変換関数の説明を参照してください。

戻り値

この関数は、無効な書式、マルチバイト書式または入力文字列がある場合、numberまたはstrNULLである場合、あるいはstr_lengthが0 (ゼロ)である場合はエラーを戻します。

OCINumberHypCos()

用途

Oracle NUMBERの双曲線コサインを計算します。

構文

sword OCINumberHypCos ( OCIError              *err, 
                        const OCINumber       *number, 
                        OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

コサイン双曲線の引数です。

result (OUT)

コサイン双曲線の結果です。

戻り値

この関数は、number引数のいずれかにNULLがある場合はエラーを戻します。

注意:

Oracle NUMBERのオーバーフローは、予想できない結果値が出力される原因となります。

OCINumberHypSin()

用途

Oracle NUMBERの双曲線サインを計算します。

構文

sword OCINumberHypSin ( OCIError              *err,
                        const OCINumber       *number, 
                        OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

サイン双曲線の引数です。

result (OUT)

サイン双曲線の結果です。

戻り値

この関数は、NUMBER引数のいずれかにNULLがある場合はエラーを戻します。

注意:

Oracle NUMBERのオーバーフローは、予想できない結果値が出力される原因となります。

OCINumberHypTan()

用途

Oracle NUMBERの双曲線タンジェントを計算します。

構文

sword OCINumberHypTan ( OCIError              *err,
                        const OCINumber       *number,
                        OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

タンジェント双曲線の引数です。

result (OUT)

タンジェント双曲線の結果です。

戻り値

この関数は、NUMBER引数のいずれかにNULLがある場合はエラーを戻します。

注意:

Oracle NUMBERのオーバーフローは、予想できない結果値が出力される原因となります。

OCINumberInc()

用途

Oracle NUMBERを増分します。

構文

sword OCINumberInc ( OCIError   *err, 
                     OCINumber  *number );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN/OUT)

増分される正数のOracle NUMBERです。

コメント

Oracle NUMBERを適切に増分します。入力値は0から100^21-2の整数であるとみなされます。入力値が大きすぎる場合は0 (ゼロ)として扱われ、その結果、Oracle NUMBERは1になります。入力値が正の整数でない場合は、予想できない結果になります。

戻り値

この関数は、入力NUMBERNULLがある場合はエラーを戻します。

関連関数

OCINumberDec()

OCINumberIntPower()

用途

指定の基数を指定の整数で累乗します。

構文

sword OCINumberIntPower ( OCIError             *err, 
                          const OCINumber      *base, 
                          const sword          exp,
                          OCINumber            *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

base (IN)

指数の基数です。

exp (IN)

基数が累乗される指数です。

result (OUT)

指数の出力です。

戻り値

この関数は、NUMBER引数のいずれかにNULLがある場合はエラーを戻します。

OCINumberIsInt()

用途

OCINumberが整数かどうかをテストします。

構文

sword OCINumberIsInt ( OCIError         *err, 
                       const OCINumber  *number,
                       boolean          *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

テストされるNUMBERです。

result (OUT)

整数値の場合はTRUE、それ以外の場合はFALSEに設定されます。

戻り値

この関数は、numberまたはresultNULLの場合にエラーを戻します。

OCINumberIsZero()

用途

指定のNUMBERが0 (ゼロ)に等しいかどうかをテストします。

構文

sword OCINumberIsZero ( OCIError            *err,
                        const OCINumber     *number,
                        boolean             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

比較するNUMBERです。

result (OUT)

0 (ゼロ)の場合はTRUE、それ以外の場合はFALSEが設定されます。

戻り値

この関数は、NUMBER引数にNULLがある場合はエラーを戻します。

OCINumberLn()

用途

Oracle NUMBERの自然対数(基数e)を求めます。

構文

sword OCINumberLn ( OCIError              *err,
                    const OCINumber       *number,
                    OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

このNUMBERの対数を計算します。

result (OUT)

対数結果です。

戻り値

この関数は、NUMBER引数がNULLのいずれかである場合、またはnumberが0 (ゼロ)以下の場合はエラーを戻します。

OCINumberLog()

用途

Oracle NUMBERの任意の基数に対する対数を求めます。

構文

sword OCINumberLog ( OCIError              *err, 
                     const OCINumber       *base, 
                     const OCINumber       *number, 
                     OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

base (IN)

対数の基数です。

number (IN)

演算子です。

result (OUT)

対数結果です。

戻り値

この関数は、次の場合にエラーを戻します。

  • NUMBER引数にNULLがある場合

  • numberの値 <= 0の場合

  • baseの値 <= 0の場合

OCINumberMod()

用途

2つのOracle NUMBERの除算の余り(剰余)を取得します。

構文

sword OCINumberMod ( OCIError              *err,
                     const OCINumber       *number1, 
                     const OCINumber       *number2,
                     OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number1 (IN)

分子へのポインタです。

number2 (IN)

分母へのポインタです。

result (OUT)

結果の剰余です。

戻り値

この関数は、number1またはnumber2NULLか、0 (ゼロ)による除算エラーがある場合にエラーを戻します。

OCINumberMul()

1つのOracle NUMBERに別のOracle NUMBERを乗算します。

用途

1つのOracle NUMBERに別のOracle NUMBERを乗算します。

構文

sword OCINumberMul ( OCIError              *err,
                     const OCINumber       *number1, 
                     const OCINumber       *number2,
                     OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number1 (IN)

乗算するNUMBERです。

number2 (IN)

乗算するNUMBERです。

result (OUT)

乗算結果です。

コメント

number1number2を乗算し、その結果をresultに戻します。

戻り値

この関数は、NUMBER引数にNULLがある場合はエラーを戻します。

OCINumberNeg()

用途

Oracle NUMBERを負の数にします。

構文

sword OCINumberNeg ( OCIError              *err, 
                     const OCINumber       *number, 
                     OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

負の数にするNUMBERです。

result (OUT)

numberの負の値が入ります。

戻り値

この関数は、NUMBER引数のいずれかにNULLがある場合はエラーを戻します。

OCINumberPower()

用途

指定の基数を指定の指数で累乗します。

構文

sword OCINumberPower ( OCIError              *err,
                       const OCINumber       *base, 
                       const OCINumber       *number, 
                       OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

base (IN)

指数の基数です。

number (IN)

基数が累乗される指数です。

result (OUT)

指数の出力です。

戻り値

この関数は、NUMBER引数にNULLがある場合はエラーを戻します。

OCINumberPrec()

用途

OCINumberを指定の小数点以下の桁数に丸めます。

構文

sword OCINumberPrec ( OCIError *err, 
                      const OCINumber *number,
                      eword nDigs, 
                      OCINumber *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

精度を設定する数値です。

nDigs (IN)

目的の結果の小数点以下の桁数です。

result (OUT)

結果です。

コメント

桁数に基づいて、浮動小数点を丸めます。

戻り値

この関数は、NUMBER引数にNULLがある場合はエラーを戻します。

OCINumberRound()

用途

Oracle NUMBERを指定の小数点以下の桁数に丸めます。

構文

sword OCINumberRound ( OCIError              *err,
                       const OCINumber       *number,
                       sword                 decplace,
                       OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

丸めるNUMBERです。

decplace (IN)

丸める小数点以下の桁数です。負数も可能です。

result (OUT)

丸めた結果の出力です。

戻り値

この関数は、NUMBER引数にNULLがある場合はエラーを戻します。

OCINumberSetPi()

用途

OCINumberをpiに設定します。

構文

void OCINumberSetPi ( OCIError *err, 
                      OCINumber *num );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

num (OUT)

piの値に設定されるNUMBERです。

コメント

指定のNUMBERをpiの値に初期化します。

関連関数

OCIErrorGet()

OCINumberSetZero()

用途

Oracle NUMBERを0 (ゼロ)に初期化します。

構文

void OCINumberSetZero ( OCIError      *err
                        OCINumber     *num ); 

パラメータ

err (IN)

有効なOCIエラー・ハンドルです。関数がエラーを生成しないため、この関数はエラーをチェックしません。

num (IN/OUT)

0 (ゼロ)値に初期化するOracle NUMBERです。

コメント

なし。

関連関数

OCIErrorGet()

OCINumberShift()

用途

NUMBERを10の累乗で乗算し、小数点を指定の桁に移動します。

構文

sword OCINumberShift ( OCIError         *err, 
                       const OCINumber  *number,
                       const sword      nDig,
                       OCINumber        *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

桁を移動するOracle NUMBERです。

nDig (IN)

移動する小数点以下の桁数です。

result (OUT)

桁を移動した結果です。

コメント

numberを10^nDigで乗算し、productに結果を設定します。

戻り値

この関数は、入力numberNULLがある場合はエラーを戻します。

関連関数

OCIErrorGet()

OCINumberSign()

用途

Oracle NUMBERの符号を取得します。

構文

sword OCINumberSign ( OCIError             *err, 
                      const OCINumber      *number, 
                      sword                *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

符号が戻されるOracle NUMBERです。

result (OUT)

表19-13は、可能な戻り値を示しています。

表19-13 結果の値

numberの値 resultパラメータの出力

number < 0

-1

number == 0

0

number > 0

1

戻り値

この関数は、numberまたはresultNULLの場合にエラーを戻します。

OCINumberSin()

用途

Oracle NUMBERのサインをラジアン単位で計算します。

構文

sword OCINumberSin ( OCIError              *err, 
                     const OCINumber       *number, 
                     OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

ラジアン単位でのサインの引数です。

result (OUT)

サインの結果です。

戻り値

この関数は、number引数のいずれかにNULLがある場合はエラーを戻します。

OCINumberSqrt()

用途

Oracle NUMBERの平方根を計算します。

構文

sword OCINumberSqrt ( OCIError           *err,
                     const OCINumber     *number, 
                     OCINumber           *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

入力NUMBERです。

result (OUT)

入力NUMBERの平方根を含む出力です。

戻り値

この関数は、numberNULLである場合、またはnumberが負の値である場合はエラーを戻します。

OCINumberSub()

1つのOracle NUMBERを別のOracle NUMBERから減算します。

用途

1つのOracle NUMBERを別のOracle NUMBERから減算します。

構文

sword OCINumberSub ( OCIError             *err,
                     const OCINumber      *number1, 
                     const OCINumber      *number2, 
                     OCINumber            *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number1、number2 (IN)

この関数は、number1からnumber2を減算します。

result (OUT)

減算結果です。

コメント

number1からnumber2を減算し、その結果をresultに戻します。

戻り値

この関数は、number引数にNULLがある場合はエラーを戻します。

OCINumberTan()

用途

Oracle NUMBERのタンジェントをラジアン単位で計算します。

構文

sword OCINumberTan ( OCIError              *err, 
                     const OCINumber       *number,
                     OCINumber             *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

ラジアン単位でのタンジェントの引数です。

result (OUT)

タンジェントの結果です。

戻り値

この関数は、NUMBER引数にNULLがある場合はエラーを戻します。

OCINumberToInt()

用途

Oracle NUMBER型を整数に変換します。

構文

sword OCINumberToInt ( OCIError              *err,
                       const OCINumber       *number,
                       uword                 rsl_length,
                       uword                 rsl_flag, 
                       void                  *rsl );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

変換するOracle NUMBERです。

rsl_length (IN)

適切な結果のサイズです。

rsl_flag (IN)

出力値の符号を指定するフラグで、可能な値は次のとおりです。

  • OCI_NUMBER_UNSIGNED- 符号なしの値

  • OCI_NUMBER_SIGNED- 符号付きの値

rsl (OUT)

結果を保存する領域へのポインタです。

コメント

これは、システム固有な型変換関数です。指定のOracle NUMBERub2ub4sb2など、xbnという書式の整数に変換します。

戻り値

この関数は、numberまたはrslNULLである場合、numberが大きすぎる(オーバーフロー)または小さすぎる(アンダーフロー)場合、あるいはrsl_flagに無効な符号フラグの値が渡された場合にエラーを戻します。

OCINumberToReal()

用途

Oracle NUMBER型を実数型に変換します。

構文

sword OCINumberToReal ( OCIError            *err,
                        const OCINumber     *number,
                        uword               rsl_length,
                        void                *rsl );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

変換するOracle NUMBERです。

rsl_length (IN)

目的の結果のサイズです。sizeof({float | double | long double})に等しくなります。

rsl (OUT)

結果を保存する領域へのポインタです。

コメント

これは、システム固有な型変換関数です。Oracle NUMBERをシステム固有の実数型に変換します。この関数は、最大LDBL_DIG、DBL_DIGまたはFLT_DIG桁の精度のNUMBERを変換し、後続の0 (ゼロ)を削除するだけです。これらの定数は、float.hに定義されます。

この関数に有効なOCINumberの値を渡す必要があります。それ以外の場合は、結果は保証されません。

OCINumberToRealArray()

用途

NUMBERの配列を実数型の配列に変換します。

構文

sword OCINumberToRealArray ( OCIError         *err, 
                             const OCINumber  **number,
                             uword            elems, 
                             uword            rsl_length, 
                             void             *rsl );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

変換対象のNUMBERの配列へのポインタです。

elems (IN)

NUMBERポインタの最大数です。

rsl_length (IN)

目的の結果のサイズです。sizeof({ float | double | long double })に等しくなります。

rsl (OUT)

結果を保存する領域の配列へのポインタです。

コメント

Oracle NUMBERをマシン固有の実数型に変換するシステム固有な型変換関数です。この関数は、最大LDBL_DIGDBL_DIGまたはFLT_DIG桁の精度のNUMBERを変換し、後続の0 (ゼロ)を削除するのみです。この定数は、float.hヘッダー・ファイルに定義されます。

この関数に有効なOCINumberの値を渡す必要があります。それ以外の場合は、結果は保証されません。

戻り値

OCI_SUCCESS (関数が正常に完了した場合)、OCI_INVALID_HANDLE (errNULLの場合)、OCI_ERROR (numberまたはrslNULLの場合、あるいはrsl_lengthが0の場合)。

OCINumberToText()

指定された書式に従って、Oracle NUMBERを文字列に変換します。

用途

指定された書式に従って、Oracle NUMBERを文字列に変換します。

構文

sword OCINumberToText ( OCIError             *err,
                        const OCINumber      *number, 
                        const OraText        *fmt, 
                        ub4                   fmt_length,
                        const OraText        *nls_params, 
                        ub4                   nls_p_length,
                        ub4                  *buf_size, 
                        OraText              *buf );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

変換するOracle NUMBERです。

fmt (IN)

変換書式です。

fmt_length (IN)

fmtパラメータの長さです。

nls_params (IN)

グローバリゼーション・サポートのフォーマット指定です。NULL文字列((text *)0)の場合は、そのセッションのデフォルト・パラメータが使用されます。

nls_p_length (IN)

nls_paramsパラメータの長さです。

buf_size (IN)

バッファのサイズです。

buf (OUT)

変換された文字列が配置されるバッファです。

コメント

書式およびグローバリゼーション・サポート・パラメータの詳細は、『Oracle Database SQL言語リファレンス』TO_NUMBER変換関数の説明を参照してください。

変換された数字文字列は、最大buf_sizeバイトまでbufに格納されます。

戻り値

この関数は、次の場合にエラーを戻します。

  • numberまたはbufの値がNULLである場合

  • バッファが小さすぎる場合

  • 書式またはマルチバイト・フォーマットが無効である場合

  • 数値を指定の書式のテキストに翻訳するときにオーバーフローが発生した場合

OCINumberTrunc()

用途

Oracle NUMBERを指定の小数点以下の桁数で切り捨てます。

構文

sword OCINumberTrunc ( OCIError             *err,
                       const OCINumber      *number, 
                       sword                decplace,
                       OCINumber            *result );

パラメータ

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、err,に記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

number (IN)

入力NUMBERです。

decplace (IN)

切り捨てる小数点以下の桁数です。負数も可能です。

result (OUT)

切捨ての出力です。

戻り値

この関数は、NUMBER引数にNULLがある場合はエラーを戻します。