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 |
先行フィールド精度を指定します。 |