IntervalDSクラス
IntervalDSクラスは、日、時、分、秒および小数秒での各時間隔計算をカプセル化したものです。先行フィールド精度は、日を入力する際の桁数によって決まります。小数秒精度は、入力時の小数桁数によって決まります。
表13-19 IntervalDSクラスのフィールド
フィールド | 型 | 説明 |
---|---|---|
|
|
日のコンポーネントを指定します。有効な値は、 |
|
|
時のコンポーネントを指定します。有効な値は、 |
|
|
分のコンポーネントを指定します。有効な値は、 |
|
|
秒のコンポーネントを指定します。有効な値は、 |
|
|
小数秒のコンポーネントを指定します。 |
例13-6 直接割当てを使用した空のIntervalDSオブジェクトの使用方法
この例では、デフォルト・コンストラクタによるNULL
値を作成し、日時時間隔にNULL
以外の値を割り当て、それに基づいて操作を実行する方法が示されています。
Environment *env = Environment::createEnvironment(); // Create a NULL day-second interval IntervalDS ds; if(ds.isNull()) cout << "\n ds is null"; // Assign a non-NULL value to ds IntervalDS anotherDS(env, "10 20:14:10.2"); ds = anotherDS; // Now all operations on IntervalDS are valid int DAY = ds.getDay();
例13-7 *Text()メソッドを使用した空のIntervalDSオブジェクトの使用方法
この例では、NULL
の日時時間隔を作成してfromText()
メソッドで初期化し、次に、+=演算子で日時時間隔に追加し、*演算子を使用して乗算した後で、2つの日時時間隔を比較し、一方の日時時間隔をtoText
メソッドで文字列に変換する方法が示されています。
Environment *env = Environment::createEnvironment(); // Create a null day-second interval IntervalDS ds1 // Initialize a null day-second interval by using the fromText method ds1.fromText("20 10:20:30.9","",env); IntervalDS addWith(env,2,1); ds1 += addWith; //call += operator IntervalDS mulDs1=ds1 * Number(env,10); //call * operator if(ds1==mulDs1) //call == operator . . string strds=ds1.toText(2,4); //2 is leading field precision //4 is the fractional field precision
表13-20 IntervalDSメソッドの概要
メソッド | 概要 |
---|---|
|
|
|
|
|
|
日の時間隔値を戻します。 |
|
小数秒の時間隔値を戻します。 |
|
時の時間隔値を戻します。 |
|
分の時間隔値を戻します。 |
|
秒の時間隔値を戻します。 |
|
|
|
2つの |
|
乗算による割当てを行います。 |
|
単純割当てを行います。 |
|
|
|
|
|
|
|
除算による割当てを行います。 |
|
|
|
|
|
|
|
|
|
|
|
減算による割当てを行います。 |
|
2つの |
|
加算による割当てを行います。 |
|
日時時間隔を設定します。 |
|
日時時間隔を |
|
時間隔を |
|
時間隔を |
IntervalDS()
IntervalDS
クラスのコンストラクタです。
構文 | 説明 |
---|---|
IntervalDS(); |
|
IntervalDS( const Environment *env, int day = 0, int hour = 0, int minute = 0, int second = 0, int fs = 0); |
指定された |
IntervalDS( const IntervalDS &src); |
|
パラメータ | 説明 |
---|---|
env |
|
day |
|
hour |
|
minute |
|
second |
|
fs |
|
src |
|
fromText()
指定した文字列から時間隔を作成します。文字列は、関連する環境に関連付けられているnls
パラメータを使用して変換されます。nls
パラメータはenv
から選択されます。env
がNULL
の場合は、nls
パラメータがインスタンスに関連付けられている環境から選択されます(関連付けられている場合)。
構文
void fromText( const string &inpstr, const string &nlsParam = "", const Environment *env = NULL);
パラメータ | 説明 |
---|---|
inpstr |
日時時間隔を示す、'10 20:14:10.2'などの'日 時:分:秒'形式の文字列を指定します。 |
nlsParam |
|
env |
NLSパラメータが使用される環境を指定します。 |
fromUText()
指定したUString
から時間隔を作成します。
構文
void fromUText( const UString &inpstr, const Environment *env=NULL );
パラメータ | 説明 |
---|---|
inpstr |
日時時間隔を示す、'10 20:14:10.2'などの'日 時:分:秒'形式の |
env |
|
operator*()
時間隔に指定の値を乗算し、その結果を戻します。
構文
const IntervalDS operator*( const IntervalDS &interval, const Number &val);
パラメータ | 説明 |
---|---|
interval |
乗算する時間隔です。 |
val |
時間隔に乗算する値を指定します。 |
operator*=()
IntervalDS
とa
の積をIntervalDS
に割り当てます。
構文
IntervalDS& operator*=( const IntervalDS &factor);
パラメータ | 説明 |
---|---|
factor |
日時時間隔を指定します。 |
operator=()
指定された値を時間隔に割り当てます。
構文
IntervalDS& operator=( const IntervalDS &src);
パラメータ | 説明 |
---|---|
src |
割り当てる値を指定します。 |
operator==()
指定した2つの時間隔を比較します。2つの時間隔が等しい場合はTRUE
を、それ以外の場合はFALSE
を戻します。いずれかの時間隔がNULL
の場合はSQLExceptionが発生します。
構文
bool operator==(
const IntervalDS &first,
const IntervalDS &second
);
パラメータ | 説明 |
---|---|
first |
比較対象の最初の時間隔を指定します。 |
second |
比較対象の第2の時間隔を指定します。 |
operator!=()
指定した2つの時間隔を比較します。2つの時間隔が等しくない場合はTRUE
を、それ以外の場合はFALSE
を戻します。いずれかの時間隔がNULL
の場合はSQLExceptionが発生します。
構文
bool operator!=( const IntervalDS &first, const IntervalDS &second);
パラメータ | 説明 |
---|---|
first |
比較対象の最初の時間隔を指定します。 |
second |
比較対象の第2の時間隔を指定します。 |
operator/()
時間隔を定数値で除算した結果を戻します。
構文
const IntervalDS operator/( const IntervalDS ÷nd, const Number &factor);
パラメータ | 説明 |
---|---|
dividend |
被除数の時間隔を指定します。 |
factor |
時間隔を除算する値を指定します。 |
operator/=()
IntervalDS
とval
の商をIntervalDS
に割り当てます。
構文
IntervalDS& operator/=( const IntervalDS &factor);
パラメータ | 説明 |
---|---|
factor |
日時時間隔を指定します。 |
operator>()
指定した2つの時間隔を比較します。第1の時間隔が第2の時間隔より長い場合はTRUE
を、それ以外の場合はFALSE
を戻します。いずれかの時間隔がNULL
の場合はSQLExceptionが発生します。
構文
bool operator>(
const IntervalDS &first,
const IntervalDS &second
);
パラメータ | 説明 |
---|---|
first |
比較対象の最初の時間隔を指定します。 |
second |
比較対象の第2の時間隔を指定します。 |
operator>=()
指定した2つの時間隔を比較します。第1の時間隔が第2の時間隔以上の長さの場合はTRUE
を、それ以外の場合はFALSE
を戻します。いずれかの時間隔がNULL
の場合はSQLExceptionが発生します。
構文
bool operator>=( const IntervalDS &first, const IntervalDS &first);
パラメータ | 説明 |
---|---|
first |
比較対象の最初の時間隔を指定します。 |
second |
比較対象の第2の時間隔を指定します。 |
operator<()
指定した2つの時間隔を比較します。第1の時間隔が第2の時間隔より短い場合はTRUE
を、それ以外の場合はFALSE
を戻します。いずれかの時間隔がNULL
の場合はSQLExceptionが発生します。
構文
bool operator<(
const IntervalDS &first,
const IntervalDS &second
);
パラメータ | 説明 |
---|---|
first |
比較対象の最初の時間隔を指定します。 |
second |
比較対象の第2の時間隔を指定します。 |
operator<=()
指定した2つの時間隔を比較します。第1の時間隔が第2の時間隔以下の長さの場合はTRUE
を、それ以外の場合はFALSE
を戻します。いずれかの時間隔がNULL
の場合はSQLExceptionが発生します。
構文
bool operator<=( const IntervalDS &first, const IntervalDS &second);
パラメータ | 説明 |
---|---|
first |
比較対象の最初の時間隔を指定します。 |
second |
比較対象の第2の時間隔を指定します。 |
operator-()
first
とsecond
の2つの時間隔の差を戻します。
構文
const IntervalDS operator-(
const IntervalDS &first,
const IntervalDS &second
);
パラメータ | 説明 |
---|---|
first |
比較対象の最初の時間隔を指定します。 |
second |
比較対象の第2の時間隔を指定します。 |
operator-=
()
IntervalDS
とval
の差をIntervalDS
に割り当てます。
構文
IntervalDS& operator-=( const IntervalDS &val);
パラメータ | 説明 |
---|---|
val |
日時時間隔を指定します。 |
operator+()
指定された時間隔の和を戻します。
構文
const IntervalDS operator+(
const IntervalDS &first,
const IntervalDS &second
);
パラメータ | 説明 |
---|---|
first |
比較対象の最初の時間隔を指定します。 |
second |
比較対象の第2の時間隔を指定します。 |
operator+=()
IntervalDS
とval
の和をIntervalDS
に割り当てます。
構文
IntervalDS& operator+=( const IntervalDS &val);
パラメータ | 説明 |
---|---|
val |
日時時間隔を指定します。 |
set()
時間隔を指定した値に設定します。
構文
void set( int day, int hour, int minute, int second, int fracsec);
パラメータ | 説明 |
---|---|
day |
日のコンポーネントを指定します。 |
hour |
時のコンポーネントを指定します。 |
min |
分のコンポーネントを指定します。 |
second |
秒のコンポーネントを指定します。 |
fracsec |
小数秒のコンポーネントを指定します。 |
toText()
時間隔をstring
表現に変換します。
構文
string toText( unsigned int lfprec, unsigned int fsprec, const string &nlsParam = "") const;
パラメータ | 説明 |
---|---|
lfprec |
先行フィールド精度を指定します。 |
fsprec |
小数秒の精度を指定します。 |
nlsParam |
NLSパラメータ文字列を指定します。 |