Oracle® C++ Call Interface Programmer's Guide 10g Release 2 (10.2) Part Number B14294-01 |
|
|
View PDF |
The IntervalDS class encapsulates time interval calculations in terms of days, hours, minutes, seconds, and fractional seconds. Leading field precision will be determined by number of decimal digits in day input. Fraction second precision will be determined by number of fraction digits on input.
Table 12-19 Fields of IntervalDS Class
Field | Type | Description |
---|---|---|
day |
int |
Day component. Valid values are -10^9 through 10^9 . |
hour |
int |
Hour component. Valid values are -23 through 23 . |
minute |
int |
Minute component. Valid values are -59 through 59 . |
second |
int |
Second component. Valid values are -59 through 59 . |
fs |
int |
Fractional second component. Constructs a NULL IntervalDS object. A NULL intervalDS can be initialized by assignment or calling fromText method. Methods that can be called on NULL intervalDS objects are setName() and isNull(). |
Example 12-6 How to Create, Assign Values, and Use an Empty IntervalDS Object through Direct Assignment
This example demonstrates how the default constructor creates a NULL
value, and how you can assign a non NULL
value to a day-second interval and then perform operations on it.
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();
Example 12-7 How to Create, Assign Values, and Use an Empty IntervalDS Object through fromText() and toText() Methods
This example demonstrates how to create a NULL
day-second interval, initialize the day-second interval by using the fromText()
method, add to the day-second interval by using the += operator, multiply by using the * operator, compare 2 day-second intervals, and convert a day-second interval to a string by using the toText
method:
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
Table 12-20 Summary of IntervalDS Methods
Method | Summary |
---|---|
IntervalDS() |
IntervalDS class constructor. |
fromText() |
Returns an IntervalDS converted from a string . |
fromUText() |
Returns an IntervalDS converted from a UString . |
getDay() |
Returns day interval values. |
getFracSec() |
Returns fractional second interval values. |
getFracSec() |
Returns hour interval values. |
getMinute() |
Returns minute interval values. |
getSecond() |
Returns second interval values. |
isNull() |
Returns true if IntervalDS is NULL , false otherwise. |
operator*() |
Returns the product of two IntervalDS values. |
operator*=() |
Multiplication assignment. |
operator=() |
Simple assignment. |
operator==() |
Checks if a and b are equal. |
operator!=() |
Checks if a and b are not equal. |
operator/() |
Returns an IntervalDS with value ( a / b ) . |
operator/=() |
Division assignment. |
operator>() |
Checks if a is greater than b |
operator>=() |
Checks if a is greater than or equal to b . |
operator<() |
Checks if a is less than b . |
operator<=() |
Checks if a is less than or equal to b . |
operator-() |
Returns an IntervalDS with value (a - b ). |
-= |
Subtraction assignment. |
operator+() |
Returns the sum of two IntervalDS values. |
operator+=() |
Addition assignment. |
set() |
Sets day-second interval. |
setNull() |
Sets day-second interval to NULL . |
toText() |
Converts to a string representation for the interval. |
toUText() |
Converts to a UString representation for the interval. |
IntervalDS
class constructor.
Syntax | Description |
---|---|
IntervalDS(); |
Constructs a NULL IntervalDS object. A NULL IntervalDS can be initialized by assignment or calling fromText() method. Methods that can be called on NULL IntervalDS objects are setName() and isNull(). |
IntervalDS( const Environment *env, int day = 0, int hour = 0, int minute = 0, int second = 0, int fs = 0); |
Constructs an IntervalDS object within a specified Environment . |
IntervalDS( const IntervalDS &src); |
Constructs an IntervalYM object from src. |
Parameter | Description |
---|---|
env |
The Environment . |
day |
The day field of IntervalDS . |
hour |
The hour field of IntervalDS . |
minute |
The minute field of IntervalDS . |
second |
The second field of IntervalDS . |
fs |
The fs field of IntervalDS . |
src |
The source that the IntervalDS object will be copied from. |
Creates the interval from the string specified. The string is converted using the nls
parameters associated with the relevant environment. The nls
parameters are picked up from env
. If env
is NULL
, the nls
parameters are picked up from the environment associated with the instance, if any.
Syntax
void fromText( const string &inpstr, const string &nlsParam = "", const Environment *env = NULL);
Parameter | Description |
---|---|
inpstr |
Input string representing a day second interval of the form 'days hours:minutes:seconds', for example, '10 20:14:10.2' |
nlsParam |
The nls parameters string. If nlsParam is specified, this determines the nls parameters to be used for the conversion. If nlsParam is not specified, the nls parameters are picked up from envp . |
env |
Environment whose nls parameters will be used. |
Creates the interval from the UString
specified.
Syntax
void fromUText( const UString &inpstr, const Environment *env=NULL );
Parameter | Description |
---|---|
inpstr |
Input UString representing a day second interval of the form 'days hours:minutes:seconds', for example, '10 20:14:10.2' |
env |
The Environment . |
Returns the day component of the interval.
Syntax
int getDay() const;
Returns the fractional second component of the interval.
Syntax
int getFracSec() const;
Returns the hour component of the interval.
Syntax
int getHour() const;
Returns the minute component of this interval.
Syntax
int getMinute() const;
Returns the seconds component of this interval.
Syntax
int getSecond() const;
Tests whether the interval is NULL
. If the interval is NULL
then TRUE
is returned; otherwise, FALSE
is returned.
Syntax
bool isNull() const;
Multiplies an interval by a specified value and returns the result.
Syntax
const IntervalDS operator*( const IntervalDS &interval, const Number &val);
Parameter | Description |
---|---|
interval |
Interval to be multiplied. |
val |
Value by which interval is to be multiplied. |
Assigns the product of IntervalDS
and a
to IntervalDS
.
Syntax
IntervalDS& operator*=( const IntervalDS &factor);
Parameter | Description |
---|---|
factor |
A day second interval. |
Assigns the specified value to the interval.
Syntax
IntervalDS& operator=( const IntervalDS &src);
Parameter | Description |
---|---|
src |
Value to be assigned. |
Compares the intervals specified. If the intervals are equal, then TRUE
is returned; otherwise, FALSE
is returned. If either interval is NULL
then SQLException is thrown.
Syntax
bool operator==( const IntervalDS &first, const IntervalDS &second);
Parameter | Description |
---|---|
first |
The first interval to be compared. |
second |
The second interval to be compared. |
Compares the intervals specified. If the intervals are not equal then TRUE
is returned; otherwise, FALSE
is returned. If either interval is NULL
then SQLException is thrown.
Syntax
bool operator!=( const IntervalDS &first, const IntervalDS &second);
Parameter | Description |
---|---|
first |
The first interval to be compared. |
second |
The second interval to be compared. |
Returns the result of dividing an interval by a constant value.
Syntax
const IntervalDS operator/( const IntervalDS ÷nd, const Number &factor);
Parameter | Description |
---|---|
dividend |
The interval to be divided. |
factor |
Value by which interval is to be divided. |
Assigns the quotient of IntervalDS
and val
to IntervalDS
.
Syntax
IntervalDS& operator/=( const IntervalDS &factor);
Parameter | Description |
---|---|
factor |
A day second interval. |
Compares the intervals specified. If the first interval is greater than the second interval then TRUE
is returned; otherwise, FALSE
is returned. If either interval is NULL
then SQLException is thrown.
Syntax
bool operator>( const IntervalDS &first, const IntervalDS &second);
Parameter | Description |
---|---|
first |
The first interval to be compared. |
second |
The second interval to be compared. |
Compares the intervals specified. If the first interval is greater than or equal to the second interval then TRUE
is returned; otherwise, FALSE
is returned. If either interval is NULL
then SQLException is thrown.
Syntax
bool operator>=( const IntervalDS &first, const IntervalDS &first);
Parameter | Description |
---|---|
first |
The first interval to be compared. |
second |
The second interval to be compared. |
Compares the intervals specified. If the first interval is less than the second interval then TRUE
is returned; otherwise, FALSE
is returned. If either interval is NULL
then SQLException is thrown.
Syntax
bool operator<( const IntervalDS &first, const IntervalDS &second);
Parameter | Description |
---|---|
first |
The first interval to be compared. |
second |
The second interval to be compared. |
Compares the intervals specified. If the first interval is less than or equal to the second interval then TRUE
is returned; otherwise, FALSE
is returned. If either interval is NULL
then SQLException is thrown.
Syntax
bool operator<=( const IntervalDS &first, const IntervalDS &second);
Parameter | Description |
---|---|
first |
The first interval to be compared. |
second |
The second interval to be compared. |
Returns the difference between the intervals first
and second
.
Syntax
const IntervalDS operator-( const IntervalDS &first, const IntervalDS &second);
Parameter | Description |
---|---|
first |
The first interval to be compared. |
second |
The second interval to be compared. |
-=
()Assigns the difference between IntervalDS
and val
to IntervalDS
.
Syntax
IntervalDS& operator-=( const IntervalDS &val);
Parameter | Description |
---|---|
val |
A day second interval. |
Returns the sum of the intervals specified.
Syntax
const IntervalDS operator+( const IntervalDS &first, const IntervalDS &second);
Parameter | Description |
---|---|
first |
The first interval to be compared. |
second |
The second interval to be compared. |
Assigns the sum of IntervalDS
and val
to IntervalDS
.
Syntax
IntervalDS& operator+=( const IntervalDS &val);
Parameter | Description |
---|---|
val |
A day second interval. |
Sets the interval to the values specified.
Syntax
void set( int day, int hour, int minute, int second, int fracsec);
Parameter | Description |
---|---|
day |
Day component. |
hour |
Hour component. |
min |
Minute component. |
second |
Second component. |
fracsec |
Fractional second component. |
Sets the IntervalDS
to NULL
.
Syntax
void setNull();
Converts to a string
representation for the interval.
Syntax
string toText( unsigned int lfprec, unsigned int fsprec, const string &nlsParam = "") const;
Parameter | Description |
---|---|
lfprec |
Leading field precision. |
fsprec |
Fractional second precision. |
nlsParam |
The nls parameters string. If nlsParam is specified, this determines the nls parameters to be used for the conversion. If nlsParam is not specified, the nls parameters are picked up from envp . |
Converts to a UString
representation for the interval.
Syntax
UString toUText( unsigned int lfprec, unsigned int fsprec) cosnt;
Parameter | Description |
---|---|
lfprec |
Leading field precision. |
fsprec |
Fractional second precision. |