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_DIG、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がある場合はエラーを戻します。