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