OCI NUMBER
関数をリストし、説明します。
表19-11は、この項で説明しているOCI NUMBER
関数を示しています。
関連項目:
表19-11 NUMBER関数
関数 | 用途 |
---|---|
絶対値を計算します。 |
|
|
|
アーク・コサインを計算します。 |
|
アーク・サインを計算します。 |
|
アーク・タンジェントを計算します。 |
|
|
|
1つの |
|
|
|
1つの |
|
コサインを計算します。 |
|
|
|
|
|
eを指定のOracle |
|
|
|
整数をOracle |
|
実数型をOracle |
|
文字列をOracle |
|
双曲線コサインを計算します。 |
|
双曲線サインを計算します。 |
|
双曲線タンジェントを計算します。 |
|
Oracle |
|
指定の基数を整数で累乗します。 |
|
|
|
|
|
自然対数を計算します。 |
|
任意の基数に対する対数を計算します。 |
|
2つのOracle |
|
1つのOracle |
|
Oracle |
|
指定の基数を指定の指数で累乗します。 |
|
|
|
Oracle |
|
|
|
|
|
10の累乗を乗算し、小数点以下を指定の桁数にします。 |
|
Oracle |
|
サインを計算します。 |
|
|
|
|
|
タンジェントを計算します。 |
|
Oracle |
|
Oracle |
|
|
|
Oracle |
|
Oracle |
用途
Oracle NUMBER
の絶対値を計算します。
構文
sword OCINumberAbs ( OCIError *err, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
入力NUMBER
です。
入力NUMBER
の絶対値です。
戻り値
この関数は、NUMBER
引数にNULL
がある場合はエラーを戻します。
関連関数
NUMBER
を別のNUMBER
に加算します。
用途
NUMBER
を別のNUMBER
に加算します。
構文
sword OCINumberAdd ( OCIError *err, const OCINumber *number1, const OCINumber *number2, OCINumber *result );
パラメータ
戻り値
この関数は、NUMBER
引数にNULL
がある場合はエラーを戻します。
用途
Oracle NUMBER
のアーク・コサインをラジアン単位で求めます。
構文
sword OCINumberArcCos ( OCIError *err, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
アーク・コサインの引数です。
ラジアンのアーク・コサインの結果です。
戻り値
NUMBER
引数がNULL
である場合、number
が-1より小さい場合、またはnumber
が1より大きい場合には、この関数はエラーを戻します。
用途
Oracle NUMBER
のアーク・サインをラジアン単位で求めます。
構文
sword OCINumberArcSin ( OCIError *err, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
アーク・サインの引数です。
ラジアンのアーク・サインの結果です。
戻り値
NUMBER
引数がNULL
である場合、number
が-1より小さい場合、またはnumber
が1より大きい場合には、この関数はエラーを戻します。
用途
Oracle NUMBER
のアーク・タンジェントをラジアン単位で求めます。
構文
sword OCINumberArcTan ( OCIError *err, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
アーク・タンジェントの引数です。
ラジアンのアーク・タンジェントの結果です。
戻り値
この関数は、NUMBER
引数にNULL
がある場合はエラーを戻します。
Oracle NUMBER
の指定した2つの引数のアーク・タンジェントを取得します。
用途
Oracle NUMBER
の指定した2つの引数のアーク・タンジェントを取得します。
構文
sword OCINumberArcTan2 ( OCIError *err, const OCINumber *number1, const OCINumber *number2, OCINumber *result );
パラメータ
戻り値
この関数は、NULL
のNUMBER
引数がある場合、またはnumber2
が0 (ゼロ)の場合はエラーを戻します。
用途
1つのOracle NUMBER
を別のOracle NUMBER
に代入します。
構文
sword OCINumberAssign ( OCIError *err, const OCINumber *from, OCINumber *to );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
割当て対象のNUMBER
です。
コピー先のNUMBER
です。
コメント
from
によって識別されたNUMBER
をto
によって識別されたNUMBER
に代入します。
戻り値
この関数は、NUMBER
引数にNULL
がある場合はエラーを戻します。
用途
Oracle NUMBER
の上限値を計算します。
構文
sword OCINumberCeil ( OCIError *err, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
入力NUMBER
です。
入力NUMBER
の上限値を含む出力です。
戻り値
この関数は、NUMBER
引数にNULL
がある場合はエラーを戻します。
1つのOracle NUMBER
を別のOracle NUMBER
と比較します。
用途
1つのOracle NUMBER
を別のOracle NUMBER
と比較します。
構文
sword OCINumberCmp ( OCIError *err, const OCINumber *number1, const OCINumber *number2, sword *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()
をコールして診断情報を取得します。
最初のNUMBER
が2番目のNUMBER
と比較されます。
表19-12に指定したような比較結果です。
表19-12 OCINumberCmp()のresultパラメータによって戻される比較結果
比較結果 | resultパラメータの出力 |
---|---|
|
負数 |
|
|
|
正数 |
戻り値
この関数は、NUMBER
引数にNULL
がある場合はエラーを戻します。
用途
Oracle NUMBER
のコサインをラジアン単位で計算します。
構文
sword OCINumberCos ( OCIError *err, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
ラジアンのコサインの引数です。
コサインの結果です。
戻り値
この関数は、NUMBER
引数にNULL
がある場合はエラーを戻します。
用途
Oracle NUMBER
を適切に減分します。
構文
sword OCINumberDec ( OCIError *err, OCINumber *number );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
減分される正数のOracle NUMBER
です。
コメント
Oracle NUMBER
を適切に減分します。入力値は0から100^21-2の整数であるとみなされます。入力値が大きすぎる場合は0 (ゼロ)として扱われ、その結果、Oracle NUMBER
は1になります。入力値が正の整数でない場合は、予想できない結果になります。
戻り値
この関数は、入力NUMBER
にNULL
がある場合はエラーを戻します。
関連関数
1つのOracle NUMBER
を別のOracle NUMBER
で除算します。
用途
1つのOracle NUMBER
を別のOracle NUMBER
で除算します。
構文
sword OCINumberDiv ( OCIError *err, const OCINumber *number1, const OCINumber *number2, OCINumber *result );
パラメータ
コメント
number1
をnumber2
で除算し、その結果をresult
に戻します。
戻り値
この関数は、次のいずれかの文がTRUEである場合はエラーを戻します。
NUMBER
引数にNULL
がある場合。
アンダーフロー・エラーがある場合。
ゼロによる除算エラーがある場合。
用途
eを指定のOracle NUMBER
で累乗します。
構文
sword OCINumberExp ( OCIError *err, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
この関数は、eをこのOracle NUMBER
で累乗します。
指数の出力です。
戻り値
この関数は、NUMBER
引数にNULL
がある場合はエラーを戻します。
用途
Oracle NUMBER
の下限(切捨て)値を計算します。
構文
sword OCINumberFloor ( OCIError *err, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
入力NUMBER
です。
入力NUMBER
の下限(切捨て)値です。
戻り値
この関数は、NUMBER
引数にNULL
がある場合はエラーを戻します。
用途
整数をOracle NUMBER
に変換します。
構文
sword OCINumberFromInt ( OCIError *err, const void *inum, uword inum_length, uword inum_s_flag, OCINumber *number );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
変換する整数へのポインタです。
整数のサイズです。
整数の符号を指定するフラグで、可能な値は次のとおりです。
OCI_NUMBER_UNSIGNED
- 符号なしの値
OCI_NUMBER
_SIGNED
- 符号付きの値
コメント
これは、システム固有な型変換関数です。ub4
やsb2
などのOracle標準システム固有の整数型をOracle NUMBER
に変換します。
戻り値
数値が大きすぎてOracle NUMBER
に適合しない場合、number
またはinum
がNULL
の場合、あるいはinum_s_flag
に無効な符号フラグの値が渡された場合は、この関数はエラーを戻します。
用途
実数(浮動小数点数)型をOracle NUMBER
に変換します。
構文
sword OCINumberFromReal ( OCIError *err, const void *rnum, uword rnum_length, OCINumber *number );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
変換する浮動小数点数へのポインタです。
目的の結果のサイズです。sizeof
({float
| double
| long double
})に等しくなります。
Oracle NUMBER
に変換される指定のfloatです。
コメント
これは、システム固有な型変換関数です。システム固有の浮動小数点型をOracle NUMBER
に変換します。
戻り値
この関数は、number
またはrnum
がNULL
であるか、rnum_length
が0 (ゼロ)である場合はエラーを戻します。
文字列を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 );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()
をコールして診断情報を取得します。
Oracle NUMBER
に変換する入力文字列です。
入力文字列のサイズです。
変換書式です。
fmt
パラメータの長さです。
グローバリゼーション・サポートのフォーマット指定です。NULL
文字列("")の場合は、セッションのデフォルト・パラメータが使用されます。
nls_params
パラメータの長さです。
NUMBER
に変換される指定の文字列です。
コメント
指定された文字列を指定の書式のNUMBER
に変換します。書式および多言語パラメータの詳細は、『Oracle Database SQL言語リファレンス』のTO_NUMBER
変換関数の説明を参照してください。
戻り値
この関数は、無効な書式、マルチバイト書式または入力文字列がある場合、number
またはstr
がNULL
である場合、あるいはstr_length
が0 (ゼロ)である場合はエラーを戻します。
用途
Oracle NUMBER
の双曲線コサインを計算します。
構文
sword OCINumberHypCos ( OCIError *err, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
コサイン双曲線の引数です。
コサイン双曲線の結果です。
戻り値
この関数は、number
引数のいずれかにNULL
がある場合はエラーを戻します。
注意:
Oracle NUMBER
のオーバーフローは、予想できない結果値が出力される原因となります。
用途
Oracle NUMBER
の双曲線サインを計算します。
構文
sword OCINumberHypSin ( OCIError *err, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
サイン双曲線の引数です。
サイン双曲線の結果です。
戻り値
この関数は、NUMBER
引数のいずれかにNULL
がある場合はエラーを戻します。
注意:
Oracle NUMBER
のオーバーフローは、予想できない結果値が出力される原因となります。
用途
Oracle NUMBER
の双曲線タンジェントを計算します。
構文
sword OCINumberHypTan ( OCIError *err, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
タンジェント双曲線の引数です。
タンジェント双曲線の結果です。
戻り値
この関数は、NUMBER
引数のいずれかにNULL
がある場合はエラーを戻します。
注意:
Oracle NUMBER
のオーバーフローは、予想できない結果値が出力される原因となります。
用途
Oracle NUMBER
を増分します。
構文
sword OCINumberInc ( OCIError *err, OCINumber *number );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
増分される正数のOracle NUMBER
です。
コメント
Oracle NUMBER
を適切に増分します。入力値は0から100^21-2の整数であるとみなされます。入力値が大きすぎる場合は0 (ゼロ)として扱われ、その結果、Oracle NUMBER
は1になります。入力値が正の整数でない場合は、予想できない結果になります。
戻り値
この関数は、入力NUMBER
にNULL
がある場合はエラーを戻します。
関連関数
用途
指定の基数を指定の整数で累乗します。
構文
sword OCINumberIntPower ( OCIError *err, const OCINumber *base, const sword exp, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
指数の基数です。
基数が累乗される指数です。
指数の出力です。
戻り値
この関数は、NUMBER
引数のいずれかにNULL
がある場合はエラーを戻します。
用途
OCINumberが整数かどうかをテストします。
構文
sword OCINumberIsInt ( OCIError *err, const OCINumber *number, boolean *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
テストされるNUMBER
です。
整数値の場合はTRUE
、それ以外の場合はFALSE
に設定されます。
戻り値
この関数は、number
またはresult
がNULL
の場合にエラーを戻します。
用途
指定のNUMBER
が0 (ゼロ)に等しいかどうかをテストします。
構文
sword OCINumberIsZero ( OCIError *err, const OCINumber *number, boolean *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
比較するNUMBER
です。
0 (ゼロ)の場合はTRUE
、それ以外の場合はFALSE
が設定されます。
戻り値
この関数は、NUMBER
引数にNULL
がある場合はエラーを戻します。
用途
Oracle NUMBER
の自然対数(基数e)を求めます。
構文
sword OCINumberLn ( OCIError *err, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
このNUMBER
の対数を計算します。
対数結果です。
戻り値
この関数は、NUMBER
引数がNULL
のいずれかである場合、またはnumber
が0 (ゼロ)以下の場合はエラーを戻します。
用途
Oracle NUMBER
の任意の基数に対する対数を求めます。
構文
sword OCINumberLog ( OCIError *err, const OCINumber *base, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
対数の基数です。
演算子です。
対数結果です。
戻り値
この関数は、次の場合にエラーを戻します。
NUMBER
引数にNULL
がある場合
number
の値 <= 0の場合
base
の値 <= 0の場合
用途
2つのOracle NUMBER
の除算の余り(剰余)を取得します。
構文
sword OCINumberMod ( OCIError *err, const OCINumber *number1, const OCINumber *number2, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
分子へのポインタです。
分母へのポインタです。
結果の剰余です。
戻り値
この関数は、number1
またはnumber2
がNULL
か、0 (ゼロ)による除算エラーがある場合にエラーを戻します。
1つのOracle NUMBER
に別のOracle NUMBER
を乗算します。
用途
1つのOracle NUMBER
に別のOracle NUMBER
を乗算します。
構文
sword OCINumberMul ( OCIError *err, const OCINumber *number1, const OCINumber *number2, OCINumber *result );
パラメータ
コメント
number1
にnumber2
を乗算し、その結果をresult
に戻します。
戻り値
この関数は、NUMBER
引数にNULL
がある場合はエラーを戻します。
用途
Oracle NUMBER
を負の数にします。
構文
sword OCINumberNeg ( OCIError *err, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
負の数にするNUMBER
です。
number
の負の値が入ります。
戻り値
この関数は、NUMBER
引数のいずれかにNULL
がある場合はエラーを戻します。
用途
指定の基数を指定の指数で累乗します。
構文
sword OCINumberPower ( OCIError *err, const OCINumber *base, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
指数の基数です。
基数が累乗される指数です。
指数の出力です。
戻り値
この関数は、NUMBER
引数にNULL
がある場合はエラーを戻します。
用途
OCINumber
を指定の小数点以下の桁数に丸めます。
構文
sword OCINumberPrec ( OCIError *err, const OCINumber *number, eword nDigs, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
精度を設定する数値です。
目的の結果の小数点以下の桁数です。
結果です。
コメント
桁数に基づいて、浮動小数点を丸めます。
戻り値
この関数は、NUMBER
引数にNULL
がある場合はエラーを戻します。
用途
Oracle NUMBER
を指定の小数点以下の桁数に丸めます。
構文
sword OCINumberRound ( OCIError *err, const OCINumber *number, sword decplace, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
丸めるNUMBER
です。
丸める小数点以下の桁数です。負数も可能です。
丸めた結果の出力です。
戻り値
この関数は、NUMBER
引数にNULL
がある場合はエラーを戻します。
用途
OCINumber
をpiに設定します。
構文
void OCINumberSetPi ( OCIError *err, OCINumber *num );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
piの値に設定されるNUMBER
です。
コメント
指定のNUMBER
をpiの値に初期化します。
関連関数
用途
Oracle NUMBER
を0 (ゼロ)に初期化します。
構文
void OCINumberSetZero ( OCIError *err OCINumber *num );
パラメータ
コメント
なし。
関連関数
用途
NUMBER
を10の累乗で乗算し、小数点を指定の桁に移動します。
構文
sword OCINumberShift ( OCIError *err, const OCINumber *number, const sword nDig, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
桁を移動するOracle NUMBER
です。
移動する小数点以下の桁数です。
桁を移動した結果です。
コメント
number
を10^nDig
で乗算し、product
に結果を設定します。
戻り値
この関数は、入力number
にNULL
がある場合はエラーを戻します。
関連関数
用途
Oracle NUMBER
の符号を取得します。
構文
sword OCINumberSign ( OCIError *err, const OCINumber *number, sword *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
符号が戻されるOracle NUMBER
です。
表19-13は、可能な戻り値を示しています。
表19-13 結果の値
numberの値 | resultパラメータの出力 |
---|---|
|
-1 |
|
0 |
|
1 |
戻り値
この関数は、number
またはresult
がNULL
の場合にエラーを戻します。
用途
Oracle NUMBER
のサインをラジアン単位で計算します。
構文
sword OCINumberSin ( OCIError *err, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
ラジアン単位でのサインの引数です。
サインの結果です。
戻り値
この関数は、number
引数のいずれかにNULL
がある場合はエラーを戻します。
用途
Oracle NUMBER
の平方根を計算します。
構文
sword OCINumberSqrt ( OCIError *err, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
入力NUMBER
です。
入力NUMBER
の平方根を含む出力です。
戻り値
この関数は、number
がNULL
である場合、またはnumber
が負の値である場合はエラーを戻します。
1つのOracle NUMBER
を別のOracle NUMBER
から減算します。
用途
1つのOracle NUMBER
を別のOracle NUMBER
から減算します。
構文
sword OCINumberSub ( OCIError *err, const OCINumber *number1, const OCINumber *number2, OCINumber *result );
パラメータ
コメント
number1
からnumber2
を減算し、その結果をresult
に戻します。
戻り値
この関数は、number
引数にNULL
がある場合はエラーを戻します。
用途
Oracle NUMBER
のタンジェントをラジアン単位で計算します。
構文
sword OCINumberTan ( OCIError *err, const OCINumber *number, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
ラジアン単位でのタンジェントの引数です。
タンジェントの結果です。
戻り値
この関数は、NUMBER
引数にNULL
がある場合はエラーを戻します。
用途
Oracle NUMBER
型を整数に変換します。
構文
sword OCINumberToInt ( OCIError *err, const OCINumber *number, uword rsl_length, uword rsl_flag, void *rsl );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
変換するOracle NUMBER
です。
適切な結果のサイズです。
出力値の符号を指定するフラグで、可能な値は次のとおりです。
OCI_NUMBER_UNSIGNED
- 符号なしの値
OCI_NUMBER_SIGNED
- 符号付きの値
コメント
これは、システム固有な型変換関数です。指定のOracle NUMBER
をub2
、ub4
、sb2
など、xbn
という書式の整数に変換します。
戻り値
この関数は、number
またはrsl
がNULL
である場合、number
が大きすぎる(オーバーフロー)または小さすぎる(アンダーフロー)場合、あるいはrsl_flag
に無効な符号フラグの値が渡された場合にエラーを戻します。
用途
Oracle NUMBER
型を実数型に変換します。
構文
sword OCINumberToReal ( OCIError *err, const OCINumber *number, uword rsl_length, void *rsl );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
変換するOracle NUMBER
です。
目的の結果のサイズです。sizeof
({float
| double
| long double
})に等しくなります。
結果を保存する領域へのポインタです。
コメント
これは、システム固有な型変換関数です。Oracle NUMBER
をシステム固有の実数型に変換します。この関数は、最大LDBL_DIG、DBL_DIGまたはFLT_DIG桁の精度のNUMBER
を変換し、後続の0 (ゼロ)を削除するだけです。これらの定数は、float.h
に定義されます。
この関数に有効なOCINumber
の値を渡す必要があります。それ以外の場合は、結果は保証されません。
用途
NUMBER
の配列を実数型の配列に変換します。
構文
sword OCINumberToRealArray ( OCIError *err, const OCINumber **number, uword elems, uword rsl_length, void *rsl );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
変換対象のNUMBER
の配列へのポインタです。
NUMBER
ポインタの最大数です。
目的の結果のサイズです。sizeof({ float | double | long double
})
に等しくなります。
結果を保存する領域の配列へのポインタです。
コメント
Oracle NUMBER
をマシン固有の実数型に変換するシステム固有な型変換関数です。この関数は、最大LDBL_DI
G
、DBL_DIG
またはFLT_DIG
桁の精度のNUMBERを変換し、後続の0 (ゼロ)を削除するのみです。この定数は、float.h
ヘッダー・ファイルに定義されます。
この関数に有効なOCINumber
の値を渡す必要があります。それ以外の場合は、結果は保証されません。
戻り値
OCI_SUCCESS
(関数が正常に完了した場合)、OCI_INVALID_HANDLE
(err
がNULL
の場合)、OCI_ERROR
(number
またはrsl
がNULL
の場合、あるいはrsl_length
が0の場合)。
指定された書式に従って、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 );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()
をコールして診断情報を取得します。
変換するOracle NUMBER
です。
変換書式です。
fmt
パラメータの長さです。
グローバリゼーション・サポートのフォーマット指定です。NULL
文字列((text *)0
)の場合は、そのセッションのデフォルト・パラメータが使用されます。
nls_params
パラメータの長さです。
バッファのサイズです。
変換された文字列が配置されるバッファです。
コメント
書式およびグローバリゼーション・サポート・パラメータの詳細は、『Oracle Database SQL言語リファレンス』のTO_NUMBER
変換関数の説明を参照してください。
変換された数字文字列は、最大buf_size
バイトまでbuf
に格納されます。
戻り値
この関数は、次の場合にエラーを戻します。
number
またはbuf
の値がNULL
である場合
バッファが小さすぎる場合
書式またはマルチバイト・フォーマットが無効である場合
数値を指定の書式のテキストに翻訳するときにオーバーフローが発生した場合
用途
Oracle NUMBER
を指定の小数点以下の桁数で切り捨てます。
構文
sword OCINumberTrunc ( OCIError *err, const OCINumber *number, sword decplace, OCINumber *result );
パラメータ
OCIエラー・ハンドルです。エラーがある場合は、err
,に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
入力NUMBER
です。
切り捨てる小数点以下の桁数です。負数も可能です。
切捨ての出力です。
戻り値
この関数は、NUMBER
引数にNULL
がある場合はエラーを戻します。