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