13.16 IntervalYMクラス
IntervalYM
は、SQLの年月時間隔標準データ型をサポートしています。
先行フィールド精度は、入力時の桁数によって決まります。
表13-21 IntervalYMクラスのフィールド
フィールド | 型 | 説明 |
---|---|---|
|
|
年のコンポーネントを指定します。有効な値は、 |
|
|
月のコンポーネントを指定します。有効な値は、 |
例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メソッドの概要
メソッド | 概要 |
---|---|
|
|
|
|
|
|
月の時間隔値を戻します。 |
|
年の時間隔値を戻します。 |
|
時間隔が |
|
2つの |
|
乗算による割当てを行います。 |
|
単純割当てを行います。 |
|
|
|
|
|
|
|
除算による割当てを行います。 |
|
|
|
|
|
|
|
|
|
|
|
減算による割当てを行います。 |
|
2つの |
|
加算による割当てを行います。 |
|
時間隔を指定した値に設定します。 |
|
時間隔を |
|
時間隔を |
|
時間隔を |
13.16.1 IntervalYM()
IntervalYMクラスのコンストラクタです。
構文 | 説明 |
---|---|
IntervalYM(); |
|
IntervalYM( const Environment *env, int year = 0, int month = 0); |
指定された |
IntervalDS( const IntervalYM &src); |
コピー・コンストラクタです。 |
パラメータ | 説明 |
---|---|
env |
|
year |
|
month |
|
src |
|
13.16.2 fromText()
このメソッドは、時間隔をinpstr
の値に初期化します。文字列は、環境に設定されているNLSパラメータを使用して解釈されます。
NLSパラメータはenv
から選択されます。env
がNULL
の場合は、NLSパラメータがインスタンスに関連付けられている環境から選択されます(関連付けられている場合)。
構文
void fromText( const string &inpStr, const string &nlsParam = "", const Environment *env = NULL);
パラメータ | 説明 |
---|---|
inpStr |
'年-月'形式の年月時間隔を示すstring型文字列を指定します。 |
nlsParam |
NLSパラメータ文字列を指定します。 |
env |
NLSパラメータが使用される環境を指定します。 |
13.16.3 fromUText()
指定したUString
から時間隔を作成します。
構文
void fromUText( const UString &inpStr, const Environment *env=NULL );
パラメータ | 説明 |
---|---|
inpStr |
'年-月'形式の年月時間隔を示す入力用 |
env |
|
13.16.6 isNull()
このメソッドは、時間隔がNULL
かどうかをテストします。時間隔がNULL
の場合はTRUE
を、それ以外の場合はFALSE
を戻します。
構文
bool isNull() const;
13.16.7 operator*()
このメソッドは、時間隔に係数を乗算し、その結果を戻します。
構文
const IntervalYM operator*( const IntervalDS &interval const Number &val);
パラメータ | 説明 |
---|---|
interval |
乗算する時間隔です。 |
val |
時間隔に乗算する値を指定します。 |
13.16.8 operator*=()
このメソッドは、時間隔に指定の値を乗算します。
構文
IntervalYM& operator*=( const Number &factor);
パラメータ | 説明 |
---|---|
factor |
乗算する値を指定します。 |
13.16.9 operator=()
このメソッドは、指定された値を時間隔に割り当てます。
構文
IntervalYM& operator=( const IntervalYM &src);
パラメータ | 説明 |
---|---|
src |
割り当てる値を指定します。 |
13.16.10 operator==()
このメソッドは、指定した2つの時間隔を比較します。2つの時間隔が等しい場合はTRUE
を、それ以外の場合はFALSE
を戻します。いずれかの時間隔がNULL
の場合はSQLExceptionが発生します。
構文
bool operator==(
const IntervalYM &first,
const IntervalYM &second
);
パラメータ | 説明 |
---|---|
first |
比較対象の最初の時間隔を指定します。 |
second |
比較対象の第2の時間隔を指定します。 |
13.16.11 operator!=()
このメソッドは、指定した2つの時間隔を比較します。2つの時間隔が等しくない場合はTRUE
を、それ以外の場合はFALSE
を戻します。いずれかの時間隔がNULL
の場合はSQLExceptionが発生します。
構文
bool operator!=( const IntervalYM &first, const IntervalYM &second);
パラメータ | 説明 |
---|---|
first |
比較対象の最初の時間隔を指定します。 |
second |
比較対象の第2の時間隔を指定します。 |
13.16.12 operator/()
このメソッドは、時間隔を係数で除算した結果を戻します。
構文
const IntervalYM operator/( const IntervalYM ÷nd, const Number &factor);
パラメータ | 説明 |
---|---|
dividend |
被除数の時間隔を指定します。 |
factor |
時間隔を除算する値を指定します。 |
13.16.13 operator/=()
このメソッドは、時間隔を係数で除算します。
構文
IntervalYM& operator/=( const Number &factor);
パラメータ | 説明 |
---|---|
factor |
日時時間隔を指定します。 |
13.16.14 operator>()
このメソッドは、指定した2つの時間隔を比較します。第1の時間隔が第2の時間隔より長い場合はTRUE
を、それ以外の場合はFALSE
を戻します。いずれかの時間隔がNULL
の場合はSQLExceptionが発生します。
構文
bool operator>( const IntervalYM &first, const IntervalYM &second);
パラメータ | 説明 |
---|---|
first |
比較対象の最初の時間隔を指定します。 |
second |
比較対象の第2の時間隔を指定します。 |
13.16.15 operator>=()
このメソッドは、指定した2つの時間隔を比較します。第1の時間隔が第2の時間隔以上の長さの場合はTRUE
を、それ以外の場合はFALSE
を戻します。いずれかの時間隔がNULL
の場合はSQLExceptionが発生します。
構文
bool operator>=( const IntervalYM &first, const IntervalYM &second);
パラメータ | 説明 |
---|---|
first |
比較対象の最初の時間隔を指定します。 |
second |
比較対象の第2の時間隔を指定します。 |
13.16.16 operator<()
このメソッドは、指定した2つの時間隔を比較します。第1の時間隔が第2の時間隔より短い場合はTRUE
を、それ以外の場合はFALSE
を戻します。いずれかの時間隔がNULL
の場合はSQLExceptionが発生します。
構文
bool operator<( const IntervalYM &first, const IntervalYM &second);
パラメータ | 説明 |
---|---|
first |
比較対象の最初の時間隔を指定します。 |
second |
比較対象の第2の時間隔を指定します。 |
13.16.17 operator<=()
このメソッドは、指定した2つの時間隔を比較します。第1の時間隔が第2の時間隔以下の長さの場合はTRUE
を、それ以外の場合はFALSE
を戻します。いずれかの時間隔がNULL
の場合はSQLExceptionが発生します
構文
bool operator<=( const IntervalYM &first, const IntervalYM &second);
パラメータ | 説明 |
---|---|
first |
比較対象の最初の時間隔を指定します。 |
second |
比較対象の第2の時間隔を指定します。 |
13.16.18 operator-()
このメソッドは、指定された時間隔の差を戻します。
構文
const IntervalYM operator-( const IntervalYM &first, const IntervalYM &second);
パラメータ | 説明 |
---|---|
first |
比較対象の最初の時間隔を指定します。 |
second |
比較対象の第2の時間隔を指定します。 |
13.16.19 operator-=
()
このメソッドは、この時間隔と別の時間隔との差を計算します。
構文
IntervalYM& operator-=( const IntervalYM &val);
パラメータ | 説明 |
---|---|
val |
日時時間隔を指定します。 |
13.16.20 operator+()
このメソッドは、指定された時間隔の和を戻します。
構文
const IntervalYM operator+(
const IntervalYM &first,
const IntervalYM &second
);
パラメータ | 説明 |
---|---|
first |
比較対象の最初の時間隔を指定します。 |
second |
比較対象の第2の時間隔を指定します。 |
13.16.21 operator+=()
このメソッドは、IntervalYM
とval
の和をIntervalYM
に割り当てます。
構文
IntervalYM& operator+=( const IntervalYM &val);
パラメータ | 説明 |
---|---|
val |
日時時間隔を指定します。 |
13.16.22 set()
このメソッドは、間隔を指定した値に設定します。
構文
void set( int year, int month);
パラメータ | 説明 |
---|---|
year |
年のコンポーネントを指定します。有効な値は、 |
month |
月のコンポーネントを指定します。有効な値は、 |
13.16.24 toText()
このメソッドは、時間隔を表す文字列を戻します。
構文
string toText( unsigned int lfprec, const string &nlsParam = "") const;
パラメータ | 説明 |
---|---|
lfprec |
先行フィールド精度を指定します。 |
nlsParam |
NLSパラメータ文字列を指定します。 |