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

前
 
次
 

IntervalYMクラス

IntervalYMは、SQLの年月時間隔標準データ型をサポートしています。

先行フィールド精度は、入力時の桁数によって決まります。

表13-21 IntervalYMクラスのフィールド

フィールド 説明

year

int

年のコンポーネントを指定します。有効な値は、-10の9乗〜10の9乗です。

month

int

月のコンポーネントを指定します。有効な値は、-11から11です。


例13-8 直接割当てを使用した空のIntervalYMオブジェクトの使用方法

この例では、デフォルト・コンストラクタによるNULL値の作成、年月時間隔にNULL以外の値を割り当て、それに基づいて操作を実行する方法が示されています。

Environment *env = Environment::createEnvironment();

// Create a NULL year-month interval
IntervalYM ym
if(ym.isNull())
   cout << "\n ym is null";

// Assign a non-NULL value to ym
IntervalYM anotherYM(env, "10-30");
ym=anotherYM;

// Now all operations on YM are valid
int yr = ym.getYear();

例13-9 ResultSetおよびtoText()メソッドを使用したIntervalYMオブジェクトの使用方法

この例では、結果セットから年月時間隔の列を取得し、+=演算子を使用して年月時間隔に追加し、次に、*演算子を使用して乗算して、2つの年月時間隔を比較し、その後、一方の年月時間隔をtoTextメソッドで文字列に変換する方法が示されています。

//SELECT WARRANT_PERIOD from PRODUCT_INFORMATION
//obtain result set
resultset->next();

//get interval value from resultset
IntervalYM ym1 = resultset->getIntervalYM(1);

IntervalYM addWith(env, 10, 1);
ym1 += addWith;    //call += operator

IntervalYM mulYm1 = ym1 * Number(env, 10);    //call * operator
if(ym1<mulYm1)    //comparison
   .
   .
string strym = ym1.toText(3);    //3 is the leading field precision

表13-22 IntervalYMメソッドの概要

メソッド 概要

IntervalYM()


IntervalYMクラスのコンストラクタです。

fromText()


stringIntervalYMに変換します。

fromUText()


UStringIntervalYMに変換します。

getMonth()


月の時間隔値を戻します。

getYear()


年の時間隔値を戻します。

isNull()


時間隔がNULLかどうかをチェックします。

operator*()


2つのIntervalYM値の積を戻します。

operator*=()


乗算による割当てを行います。

operator=()


単純割当てを行います。

operator==()


abが等しいかどうかをチェックします。

operator!=()


abが等しくないかどうかをチェックします。

operator/()


interval(a/b)の値で戻します。

operator/=()


除算による割当てを行います。

operator>()


abを超えているかどうかをチェックします。

operator>=()


ab以上かどうかをチェックします。

operator<()


ab未満かどうかをチェックします。

operator<=()


ab以下かどうかをチェックします。

operator-()


interval(a-b)の値で戻します。

演算子-=()


減算による割当てを行います。

operator+()


2つのIntervalYM値の合計を戻します。

operator+=()


加算による割当てを行います。

set()


時間隔を指定した値に設定します。

setNull()


時間隔をNULLに設定します。

toText()


時間隔をstring表現に変換します。

toUText()


時間隔をUString表現に変換します。


IntervalYM()

IntervalYMクラスのコンストラクタです。

構文 説明
IntervalYM();
NULLIntervalYMオブジェクトが作成されます。NULLIntervalYMは、operator*()メソッドを割り当てるか、コールすることによって初期化できます。NULLIntervalYMオブジェクトでコールできるメソッドは、setName()isNull()です。
IntervalYM(
   const Environment *env,
   int year  = 0,
   int month = 0);
指定されたEnvironment内でIntervalYMオブジェクトを作成します。
IntervalDS(
   const IntervalYM &src);
コピー・コンストラクタです。

パラメータ 説明
env
Environmentを指定します。
year
IntervalYMオブジェクトのyearフィールドを指定します。
month
IntervalYMmonthフィールドを指定します。
src
IntervalYMオブジェクトのコピー元を指定します。

fromText()

このメソッドは、時間隔をinpstrの値に初期化します。文字列は、環境に設定されているNLSパラメータを使用して解釈されます。

NLSパラメータはenvから選択されます。envNULLの場合は、NLSパラメータがインスタンスに関連付けられている環境から選択されます(関連付けられている場合)。

構文

void fromText(
   const string &inpStr,
   const string &nlsParam = "",
   const Environment *env = NULL);
パラメータ 説明
inpStr
'年-月'形式の年月時間隔を示すstring型文字列を指定します。
nlsParam
NLSパラメータ文字列を指定します。nlsParamが指定されている場合は、この指定によって、変換に使用されるNLSパラメータが決まります。nlsParamが指定されていない場合は、NLSパラメータがenvpから選択されます。
env
NLSパラメータが使用される環境を指定します。

fromUText()

指定したUStringから時間隔を作成します。

構文

void fromUText(
   const UString &inpStr,
   const Environment *env=NULL );
パラメータ 説明
inpStr
'年-月'形式の年月時間隔を示す入力用UString型文字列を指定します。
env
Environmentを指定します。

getMonth()

このメソッドは、時間隔の月要素を戻します。

構文

int getMonth() const;

getYear()

このメソッドは、時間隔の年要素を戻します。

構文

int getYear() const;

isNull()

このメソッドは、時間隔がNULLかどうかをテストします。時間隔がNULLの場合はTRUEを、それ以外の場合はFALSEを戻します。

構文

bool isNull() const;

operator*()

このメソッドは、時間隔に係数を乗算し、その結果を戻します。

構文

const IntervalYM operator*(
   const IntervalDS &interval
   const Number &val);
パラメータ 説明
interval
乗算する時間隔を指定します。
val
時間隔に乗算する値を指定します。

operator*=()

このメソッドは、時間隔に指定の値を乗算します。

構文

IntervalYM& operator*=(
   const Number &factor);
パラメータ 説明
factor
乗算する値を指定します。

operator=()

このメソッドは、指定された値を時間隔に割り当てます。

構文

IntervalYM& operator=(
   const IntervalYM &src);
パラメータ 説明
src
割り当てる値を指定します。

operator==()

このメソッドは、指定した2つの時間隔を比較します。2つの時間隔が等しい場合はTRUEを、それ以外の場合はFALSEを戻します。いずれかの時間隔がNULLの場合はSQLExceptionが発生します。

構文

bool operator==(
   const IntervalYM &first,
   const IntervalYM &second);
パラメータ 説明
first
比較対象の最初の時間隔を指定します。
second
比較対象の第2の時間隔を指定します。

operator!=()

このメソッドは、指定した2つの時間隔を比較します。2つの時間隔が等しくない場合はTRUEを、それ以外の場合はFALSEを戻します。いずれかの時間隔がNULLの場合はSQLExceptionが発生します。

構文

bool operator!=(
   const IntervalYM &first,
   const IntervalYM &second);
パラメータ 説明
first
比較対象の最初の時間隔を指定します。
second
比較対象の第2の時間隔を指定します。

operator/()

このメソッドは、時間隔を係数で除算した結果を戻します。

構文

const IntervalYM operator/(
   const IntervalYM &dividend,
   const Number &factor);
パラメータ 説明
dividend
被除数の時間隔を指定します。
factor
時間隔を除算する値を指定します。

operator/=()

このメソッドは、時間隔を係数で除算します。

構文

IntervalYM& operator/=(
   const Number &factor);
パラメータ 説明
factor
日時時間隔を指定します。

operator>()

このメソッドは、指定した2つの時間隔を比較します。第1の時間隔が第2の時間隔より長い場合はTRUEを、それ以外の場合はFALSEを戻します。いずれかの時間隔がNULLの場合はSQLExceptionが発生します。

構文

bool operator>(
   const IntervalYM &first,
   const IntervalYM &second);
パラメータ 説明
first
比較対象の最初の時間隔を指定します。
second
比較対象の第2の時間隔を指定します。

operator>=()

このメソッドは、指定した2つの時間隔を比較します。第1の時間隔が第2の時間隔以上の長さの場合はTRUEを、それ以外の場合はFALSEを戻します。いずれかの時間隔がNULLの場合はSQLExceptionが発生します。

構文

bool operator>=(
   const IntervalYM &first,
   const IntervalYM &second);
パラメータ 説明
first
比較対象の最初の時間隔を指定します。
second
比較対象の第2の時間隔を指定します。

operator<()

このメソッドは、指定した2つの時間隔を比較します。第1の時間隔が第2の時間隔より短い場合はTRUEを、それ以外の場合はFALSEを戻します。いずれかの時間隔がNULLの場合はSQLExceptionが発生します。

構文

bool operator<(
   const IntervalYM &first,
   const IntervalYM &second);
パラメータ 説明
first
比較対象の最初の時間隔を指定します。
second
比較対象の第2の時間隔を指定します。

operator<=()

このメソッドは、指定した2つの時間隔を比較します。第1の時間隔が第2の時間隔以下の長さの場合はTRUEを、それ以外の場合はFALSEを戻します。いずれかの時間隔がNULLの場合はSQLExceptionが発生します

構文

bool operator<=(
   const IntervalYM &first,
   const IntervalYM &second);
パラメータ 説明
first
比較対象の最初の時間隔を指定します。
second
比較対象の第2の時間隔を指定します。

operator-()

このメソッドは、指定された時間隔の差を戻します。

構文

const IntervalYM operator-(
   const IntervalYM &first,
   const IntervalYM &second);
パラメータ 説明
first
比較対象の最初の時間隔を指定します。
second
比較対象の第2の時間隔を指定します。

演算子-=()

このメソッドは、この時間隔と別の時間隔との差を計算します。

構文

IntervalYM& operator-=(
   const IntervalYM &val);
パラメータ 説明
val
日時時間隔を指定します。

operator+()

このメソッドは、指定された時間隔の和を戻します。

構文

const IntervalYM operator+(
   const IntervalYM &first,
   const IntervalYM &second);
パラメータ 説明
first
比較対象の最初の時間隔を指定します。
second
比較対象の第2の時間隔を指定します。

operator+=()

このメソッドは、IntervalYMvalの和をIntervalYMに割り当てます。

構文

IntervalYM& operator+=(
   const IntervalYM &val);
パラメータ 説明
val
日時時間隔を指定します。

set()

このメソッドは、間隔を指定した値に設定します。

構文

void set(
   int year,
   int month);
パラメータ 説明
year
年のコンポーネントを指定します。有効な値は、-10の9乗〜10の9乗です。
month
月のコンポーネントを指定します。有効な値は、-11から11です。

setNull()

このメソッドは、時間隔をNULLに設定します。

構文

void setNull();

toText()

このメソッドは、時間隔を表す文字列を戻します。

構文

string toText(
   unsigned int lfprec,
   const string &nlsParam = "") const;
パラメータ 説明
lfprec
先行フィールド精度を指定します。
nlsParam
NLSパラメータ文字列を指定します。nlsParamが指定されている場合は、この指定によって、変換に使用されるNLSパラメータが決まります。nlsParamが指定されていない場合は、NLSパラメータがenvpから選択されます。

toUText()

時間隔をUString表現に変換します。

構文

UString toUText(
   unsigned int lfprec) cosnt;
パラメータ 説明
lfprec
先行フィールド精度を指定します。