OCILIB (C Driver for Oracle) 3.9.1
|
OCILIB encapsulates Oracle :
Basically, the OCI_Timestamp and OCI_Interval routines are wrappers around the Oracle OCIDatetime and OCIInterval APIs
#include "ocilib.h" #define SIZE_STR 260 int main(void) { OCI_Timestamp *tm; OCI_Interval *itv; char str[SIZE_STR+1]; if (!OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT)) return EXIT_FAILURE; tm = OCI_TimestampCreate(NULL, OCI_TIMESTAMP); itv = OCI_IntervalCreate(NULL, OCI_INTERVAL_DS); OCI_TimestampSysTimeStamp(tm); OCI_TimestampToText(tm, "DD/MM/YYYY HH24:MI:SS:FF3", SIZE_STR, str, 3); printf("%s\n", str); OCI_IntervalSetDaySecond(itv, 1,1,1,1,0); OCI_IntervalToText(itv, 10, 10, SIZE_STR, str); printf("%s\n", str); OCI_TimestampIntervalAdd(tm, itv); OCI_TimestampToText(tm, "DD/MM/YYYY HH24:MI:SS:FF3", SIZE_STR, str, 3); printf("%s\n", str); OCI_Cleanup(); return EXIT_SUCCESS; }
Functions | |
OCI_EXPORT OCI_Timestamp *OCI_API | OCI_TimestampCreate (OCI_Connection *con, unsigned int type) |
Create a local Timestamp instance. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampFree (OCI_Timestamp *tmsp) |
Free an OCI_Timestamp handle. | |
OCI_EXPORT OCI_Timestamp **OCI_API | OCI_TimestampArrayCreate (OCI_Connection *con, unsigned int type, unsigned int nbelem) |
Create an array of timestamp object. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampArrayFree (OCI_Timestamp **tmsps) |
Free an arrray of timestamp objects. | |
OCI_EXPORT unsigned int OCI_API | OCI_TimestampGetType (OCI_Timestamp *tmsp) |
Return the type of the given Timestamp object. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampAssign (OCI_Timestamp *tmsp, OCI_Timestamp *tmsp_src) |
Assign the value of a timestamp handle to another one. | |
OCI_EXPORT int OCI_API | OCI_TimestampCheck (OCI_Timestamp *tmsp) |
Check if the given timestamp is valid. | |
OCI_EXPORT int OCI_API | OCI_TimestampCompare (OCI_Timestamp *tmsp, OCI_Timestamp *tmsp2) |
Compares two timestamp handles. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampConstruct (OCI_Timestamp *tmsp, int year, int month, int day, int hour, int min, int sec, int fsec, const mtext *timezone) |
Set a timestamp handle value. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampConvert (OCI_Timestamp *tmsp, OCI_Timestamp *tmsp_src) |
Convert one timestamp value from one type to another. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampFromText (OCI_Timestamp *tmsp, const mtext *str, const mtext *fmt) |
Convert a string to a timestamp and store it in the given timestamp handle. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampToText (OCI_Timestamp *tmsp, const mtext *fmt, int size, mtext *str, int precision) |
Convert a timestamp value from the given timestamp handle to a string. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampGetDate (OCI_Timestamp *tmsp, int *year, int *month, int *day) |
Extract the date part from a timestamp handle. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampGetTime (OCI_Timestamp *tmsp, int *hour, int *min, int *sec, int *fsec) |
Extract the time portion from a timestamp handle. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampGetDateTime (OCI_Timestamp *tmsp, int *year, int *month, int *day, int *hour, int *min, int *sec, int *fsec) |
Extract the date and time parts from a date handle. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampGetTimeZoneName (OCI_Timestamp *tmsp, int size, mtext *str) |
Return the time zone name of a timestamp handle. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampGetTimeZoneOffset (OCI_Timestamp *tmsp, int *hour, int *min) |
Return the time zone (hour, minute) portion of a timestamp handle. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampIntervalAdd (OCI_Timestamp *tmsp, OCI_Interval *itv) |
Add an interval value to a timestamp value of a timestamp handle. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampIntervalSub (OCI_Timestamp *tmsp, OCI_Interval *itv) |
Subtract an interval value from a timestamp value of a timestamp handle. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampSubtract (OCI_Timestamp *tmsp, OCI_Timestamp *tmsp2, OCI_Interval *itv) |
Store the difference of two timestamp handles into an interval handle. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampSysTimestamp (OCI_Timestamp *tmsp) |
Stores the system current date and time as a timestamp value with time zone into the timestamp handle. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampToCTime (OCI_Timestamp *tmsp, struct tm *ptm, time_t *pt) |
Affect an OCI_Timestamp handle value to ISO C time datatypes. | |
OCI_EXPORT boolean OCI_API | OCI_TimestampFromCTime (OCI_Timestamp *tmsp, struct tm *ptm, time_t t) |
Affect ISO C time datatypes values to an OCI_Timestamp handle. | |
OCI_EXPORT OCI_Interval *OCI_API | OCI_IntervalCreate (OCI_Connection *con, unsigned int type) |
Create a local interval object. | |
OCI_EXPORT boolean OCI_API | OCI_IntervalFree (OCI_Interval *itv) |
Free an OCI_Interval handle. | |
OCI_EXPORT OCI_Interval **OCI_API | OCI_IntervalArrayCreate (OCI_Connection *con, unsigned int type, unsigned int nbelem) |
Create an array of Interval object. | |
OCI_EXPORT boolean OCI_API | OCI_IntervalArrayFree (OCI_Interval **itvs) |
Free an arrray of Interval objects. | |
OCI_EXPORT unsigned int OCI_API | OCI_IntervalGetType (OCI_Interval *itv) |
Return the type of the given Interval object. | |
OCI_EXPORT boolean OCI_API | OCI_IntervalAssign (OCI_Interval *itv, OCI_Interval *itv_src) |
Assign the value of a interval handle to another one. | |
OCI_EXPORT int OCI_API | OCI_IntervalCheck (OCI_Interval *itv) |
Check if the given interval is valid. | |
OCI_EXPORT int OCI_API | OCI_IntervalCompare (OCI_Interval *itv, OCI_Interval *itv2) |
Compares two interval handles. | |
OCI_EXPORT boolean OCI_API | OCI_IntervalFromText (OCI_Interval *itv, const mtext *str) |
Convert a string to an interval and store it in the given interval handle. | |
OCI_EXPORT boolean OCI_API | OCI_IntervalToText (OCI_Interval *itv, int leading_prec, int fraction_prec, int size, mtext *str) |
Convert an interval value from the given interval handle to a string. | |
OCI_EXPORT boolean OCI_API | OCI_IntervalFromTimeZone (OCI_Interval *itv, const mtext *str) |
Correct an interval handle value with the given time zone. | |
OCI_EXPORT boolean OCI_API | OCI_IntervalGetDaySecond (OCI_Interval *itv, int *day, int *hour, int *min, int *sec, int *fsec) |
Return the day / time portion of an interval handle. | |
OCI_EXPORT boolean OCI_API | OCI_IntervalGetYearMonth (OCI_Interval *itv, int *year, int *month) |
Return the year / month portion of an interval handle. | |
OCI_EXPORT boolean OCI_API | OCI_IntervalSetDaySecond (OCI_Interval *itv, int day, int hour, int min, int sec, int fsec) |
Set the day / time portion if the given interval handle. | |
OCI_EXPORT boolean OCI_API | OCI_IntervalSetYearMonth (OCI_Interval *itv, int year, int month) |
Set the year / month portion if the given Interval handle. | |
OCI_EXPORT boolean OCI_API | OCI_IntervalAdd (OCI_Interval *itv, OCI_Interval *itv2) |
Adds an interval handle value to another. | |
OCI_EXPORT boolean OCI_API | OCI_IntervalSubtract (OCI_Interval *itv, OCI_Interval *itv2) |
Subtract an interval handle value from another. |
OCI_EXPORT OCI_Timestamp* OCI_API OCI_TimestampCreate | ( | OCI_Connection * | con, |
unsigned int | type | ||
) |
Create a local Timestamp instance.
con | - Connection handle |
type | - Timestamp type |
Definition at line 155 of file timestamp.c.
Referenced by OCI_TimestampIntervalAdd(), OCI_TimestampIntervalSub(), and OCI_TimestampSysTimestamp().
OCI_EXPORT boolean OCI_API OCI_TimestampFree | ( | OCI_Timestamp * | tmsp | ) |
Free an OCI_Timestamp handle.
tmsp | - Timestamp handle |
Definition at line 186 of file timestamp.c.
Referenced by OCI_ElemFree(), OCI_TimestampIntervalAdd(), OCI_TimestampIntervalSub(), and OCI_TimestampSysTimestamp().
OCI_EXPORT OCI_Timestamp** OCI_API OCI_TimestampArrayCreate | ( | OCI_Connection * | con, |
unsigned int | type, | ||
unsigned int | nbelem | ||
) |
Create an array of timestamp object.
con | - Connection handle |
type | - Timestamp type |
nbelem | - number of elements in the array |
Definition at line 235 of file timestamp.c.
OCI_EXPORT boolean OCI_API OCI_TimestampArrayFree | ( | OCI_Timestamp ** | tmsps | ) |
Free an arrray of timestamp objects.
tmsps | - Array of timestamp objects |
Definition at line 285 of file timestamp.c.
OCI_EXPORT unsigned int OCI_API OCI_TimestampGetType | ( | OCI_Timestamp * | tmsp | ) |
Return the type of the given Timestamp object.
tmsp | - Timestamp handle |
Definition at line 297 of file timestamp.c.
OCI_EXPORT boolean OCI_API OCI_TimestampAssign | ( | OCI_Timestamp * | tmsp, |
OCI_Timestamp * | tmsp_src | ||
) |
Assign the value of a timestamp handle to another one.
tmsp | - Destination Timestamp handle |
tmsp_src | - Source Timestamp handle |
Definition at line 315 of file timestamp.c.
Referenced by OCI_ElemSetTimestamp().
OCI_EXPORT int OCI_API OCI_TimestampCheck | ( | OCI_Timestamp * | tmsp | ) |
Check if the given timestamp is valid.
tmsp | - Timestamp handle |
Definition at line 349 of file timestamp.c.
OCI_EXPORT int OCI_API OCI_TimestampCompare | ( | OCI_Timestamp * | tmsp, |
OCI_Timestamp * | tmsp2 | ||
) |
Compares two timestamp handles.
tmsp | - Timestamp1 handle |
tmsp2 | - Timestamp2 handle |
Definition at line 381 of file timestamp.c.
OCI_EXPORT boolean OCI_API OCI_TimestampConstruct | ( | OCI_Timestamp * | tmsp, |
int | year, | ||
int | month, | ||
int | day, | ||
int | hour, | ||
int | min, | ||
int | sec, | ||
int | fsec, | ||
const mtext * | timezone | ||
) |
Set a timestamp handle value.
tmsp | - Timestamp handle |
year | - Year value |
month | - Month value |
day | - Day value |
hour | - hour value |
min | - minutes value |
sec | - seconds value |
fsec | - fractional part of seconds value |
timezone | - name of a time zone to use [optional] |
Definition at line 416 of file timestamp.c.
Referenced by OCI_TimestampFromCTime().
OCI_EXPORT boolean OCI_API OCI_TimestampConvert | ( | OCI_Timestamp * | tmsp, |
OCI_Timestamp * | tmsp_src | ||
) |
Convert one timestamp value from one type to another.
tmsp | - Timestamp handle to convert |
tmsp_src | - Timestamp handle to use for the type conversion |
Definition at line 471 of file timestamp.c.
Referenced by OCI_TimestampIntervalAdd(), OCI_TimestampIntervalSub(), and OCI_TimestampSysTimestamp().
OCI_EXPORT boolean OCI_API OCI_TimestampFromText | ( | OCI_Timestamp * | tmsp, |
const mtext * | str, | ||
const mtext * | fmt | ||
) |
Convert a string to a timestamp and store it in the given timestamp handle.
tmsp | - Destination Timestamp handle |
str | - Source date string |
fmt | - Date format |
Definition at line 505 of file timestamp.c.
OCI_EXPORT boolean OCI_API OCI_TimestampToText | ( | OCI_Timestamp * | tmsp, |
const mtext * | fmt, | ||
int | size, | ||
mtext * | str, | ||
int | precision | ||
) |
Convert a timestamp value from the given timestamp handle to a string.
tmsp | - source Timestamp handle |
fmt | - Timestamp format |
size | - Destination string size in characters |
str | - Destination date string |
precision | - Precision for fractional part of the seconds |
Definition at line 561 of file timestamp.c.
Referenced by OCI_GetString().
OCI_EXPORT boolean OCI_API OCI_TimestampGetDate | ( | OCI_Timestamp * | tmsp, |
int * | year, | ||
int * | month, | ||
int * | day | ||
) |
Extract the date part from a timestamp handle.
tmsp | - Timestamp handle |
year | - Place holder for year value |
month | - Place holder for month value |
day | - Place holder for day value |
Definition at line 631 of file timestamp.c.
Referenced by OCI_TimestampGetDateTime().
OCI_EXPORT boolean OCI_API OCI_TimestampGetTime | ( | OCI_Timestamp * | tmsp, |
int * | hour, | ||
int * | min, | ||
int * | sec, | ||
int * | fsec | ||
) |
Extract the time portion from a timestamp handle.
tmsp | - Timestamp handle |
hour | - Place holder for hour value |
min | - Place holder for minute value |
sec | - Place holder for second value |
fsec | - Place holder for fractional part of second value |
Definition at line 690 of file timestamp.c.
Referenced by OCI_TimestampGetDateTime().
OCI_EXPORT boolean OCI_API OCI_TimestampGetDateTime | ( | OCI_Timestamp * | tmsp, |
int * | year, | ||
int * | month, | ||
int * | day, | ||
int * | hour, | ||
int * | min, | ||
int * | sec, | ||
int * | fsec | ||
) |
Extract the date and time parts from a date handle.
tmsp | - Date handle |
year | - Place holder for year value |
month | - Place holder for month value |
day | - Place holder for day value |
hour | - Place holder for hour value |
min | - Place holder for minute value |
sec | - Place holder for second value |
fsec | - Place holder for fractional part of seconds value |
Definition at line 757 of file timestamp.c.
References OCI_TimestampGetDate(), and OCI_TimestampGetTime().
Referenced by OCI_TimestampToCTime().
OCI_EXPORT boolean OCI_API OCI_TimestampGetTimeZoneName | ( | OCI_Timestamp * | tmsp, |
int | size, | ||
mtext * | str | ||
) |
Return the time zone name of a timestamp handle.
tmsp | - Timestamp handle |
size | - Destination string size in characters |
str | - Destination zone name string |
Definition at line 777 of file timestamp.c.
OCI_EXPORT boolean OCI_API OCI_TimestampGetTimeZoneOffset | ( | OCI_Timestamp * | tmsp, |
int * | hour, | ||
int * | min | ||
) |
Return the time zone (hour, minute) portion of a timestamp handle.
tmsp | - Timestamp handle |
hour | - Place holder for hour value |
min | - Place holder for min value |
Definition at line 831 of file timestamp.c.
OCI_EXPORT boolean OCI_API OCI_TimestampIntervalAdd | ( | OCI_Timestamp * | tmsp, |
OCI_Interval * | itv | ||
) |
Add an interval value to a timestamp value of a timestamp handle.
tmsp | - Timestamp handle |
itv | - Interval handle |
Definition at line 872 of file timestamp.c.
References OCI_TimestampConvert(), OCI_TimestampCreate(), and OCI_TimestampFree().
OCI_EXPORT boolean OCI_API OCI_TimestampIntervalSub | ( | OCI_Timestamp * | tmsp, |
OCI_Interval * | itv | ||
) |
Subtract an interval value from a timestamp value of a timestamp handle.
tmsp | - Timestamp handle |
itv | - Interval handle |
Definition at line 933 of file timestamp.c.
References OCI_TimestampConvert(), OCI_TimestampCreate(), and OCI_TimestampFree().
OCI_EXPORT boolean OCI_API OCI_TimestampSubtract | ( | OCI_Timestamp * | tmsp, |
OCI_Timestamp * | tmsp2, | ||
OCI_Interval * | itv | ||
) |
Store the difference of two timestamp handles into an interval handle.
tmsp | - Timestamp handle (subtrahend) |
tmsp2 | - Timestamp2 handle (minuend) |
itv | - Interval handle |
Definition at line 994 of file timestamp.c.
OCI_EXPORT boolean OCI_API OCI_TimestampSysTimestamp | ( | OCI_Timestamp * | tmsp | ) |
Stores the system current date and time as a timestamp value with time zone into the timestamp handle.
tmsp | - Timestamp handle |
Definition at line 1030 of file timestamp.c.
References OCI_TimestampConvert(), OCI_TimestampCreate(), and OCI_TimestampFree().
OCI_EXPORT boolean OCI_API OCI_TimestampToCTime | ( | OCI_Timestamp * | tmsp, |
struct tm * | ptm, | ||
time_t * | pt | ||
) |
Affect an OCI_Timestamp handle value to ISO C time datatypes.
tmsp | - Timestamp handle |
ptm | - Pointer to a structure tm to receive date/time values |
pt | - Pointer to a time_t to hold the date/time in the time_t format |
Definition at line 1094 of file timestamp.c.
References OCI_TimestampGetDateTime().
OCI_EXPORT boolean OCI_API OCI_TimestampFromCTime | ( | OCI_Timestamp * | tmsp, |
struct tm * | ptm, | ||
time_t | t | ||
) |
Affect ISO C time datatypes values to an OCI_Timestamp handle.
tmsp | - Timestamp handle |
ptm | - Pointer to a structure tm that hold the date/time value |
t | - Value (time_t) that hold the date/time in the time_t format |
Both parameters 'ptm' and 'p' are optional but one of them has to be provided. If 'ptm' is not null, its value is affected to the OCI_Timestamp handle, otherwise the value of 't' is used.
Definition at line 1144 of file timestamp.c.
References OCI_TimestampConstruct().
OCI_EXPORT OCI_Interval* OCI_API OCI_IntervalCreate | ( | OCI_Connection * | con, |
unsigned int | type | ||
) |
Create a local interval object.
con | - Connection handle |
type | - Type of Interval |
Definition at line 151 of file interval.c.
OCI_EXPORT boolean OCI_API OCI_IntervalFree | ( | OCI_Interval * | itv | ) |
Free an OCI_Interval handle.
itv | - Interval handle |
Definition at line 182 of file interval.c.
Referenced by OCI_ElemFree().
OCI_EXPORT OCI_Interval** OCI_API OCI_IntervalArrayCreate | ( | OCI_Connection * | con, |
unsigned int | type, | ||
unsigned int | nbelem | ||
) |
Create an array of Interval object.
con | - Connection handle |
type | - Type of Interval |
nbelem | - number of elements in the array |
Definition at line 227 of file interval.c.
OCI_EXPORT boolean OCI_API OCI_IntervalArrayFree | ( | OCI_Interval ** | itvs | ) |
Free an arrray of Interval objects.
itvs | - Array of Interval objects |
Definition at line 262 of file interval.c.
OCI_EXPORT unsigned int OCI_API OCI_IntervalGetType | ( | OCI_Interval * | itv | ) |
Return the type of the given Interval object.
itv | - Interval handle |
Definition at line 274 of file interval.c.
OCI_EXPORT boolean OCI_API OCI_IntervalAssign | ( | OCI_Interval * | itv, |
OCI_Interval * | itv_src | ||
) |
Assign the value of a interval handle to another one.
itv | - Destination interval handle |
itv_src | - Source interval handle |
Definition at line 292 of file interval.c.
Referenced by OCI_ElemSetInterval().
OCI_EXPORT int OCI_API OCI_IntervalCheck | ( | OCI_Interval * | itv | ) |
Check if the given interval is valid.
itv | - Interval handle |
Definition at line 325 of file interval.c.
OCI_EXPORT int OCI_API OCI_IntervalCompare | ( | OCI_Interval * | itv, |
OCI_Interval * | itv2 | ||
) |
Compares two interval handles.
itv | - Interval1 handle |
itv2 | - Interval2 handle |
Definition at line 358 of file interval.c.
OCI_EXPORT boolean OCI_API OCI_IntervalFromText | ( | OCI_Interval * | itv, |
const mtext * | str | ||
) |
Convert a string to an interval and store it in the given interval handle.
itv | - Destination interval handle |
str | - Source date string |
Definition at line 392 of file interval.c.
OCI_EXPORT boolean OCI_API OCI_IntervalToText | ( | OCI_Interval * | itv, |
int | leading_prec, | ||
int | fraction_prec, | ||
int | size, | ||
mtext * | str | ||
) |
Convert an interval value from the given interval handle to a string.
itv | - source Interval handle |
leading_prec | - Precision of the leading part |
fraction_prec | - Precision of the fractional part |
size | - Destination string size in characters |
str | - Destination date string |
Definition at line 437 of file interval.c.
Referenced by OCI_GetString().
OCI_EXPORT boolean OCI_API OCI_IntervalFromTimeZone | ( | OCI_Interval * | itv, |
const mtext * | str | ||
) |
Correct an interval handle value with the given time zone.
itv | - Interval handle |
str | - Time zone name |
Definition at line 507 of file interval.c.
OCI_EXPORT boolean OCI_API OCI_IntervalGetDaySecond | ( | OCI_Interval * | itv, |
int * | day, | ||
int * | hour, | ||
int * | min, | ||
int * | sec, | ||
int * | fsec | ||
) |
Return the day / time portion of an interval handle.
itv | - Interval handle |
day | - Place holder for day value |
hour | - Place holder for hours value |
min | - Place holder for minutes value |
sec | - Place holder for seconds value |
fsec | - Place holder for fractional part of seconds value |
Definition at line 553 of file interval.c.
OCI_EXPORT boolean OCI_API OCI_IntervalGetYearMonth | ( | OCI_Interval * | itv, |
int * | year, | ||
int * | month | ||
) |
Return the year / month portion of an interval handle.
itv | - Interval handle |
year | - Place holder for year value |
month | - Place holder for month value |
Definition at line 609 of file interval.c.
OCI_EXPORT boolean OCI_API OCI_IntervalSetDaySecond | ( | OCI_Interval * | itv, |
int | day, | ||
int | hour, | ||
int | min, | ||
int | sec, | ||
int | fsec | ||
) |
Set the day / time portion if the given interval handle.
itv | - Interval handle |
day | - day value |
hour | - Hour value |
min | - Minute value |
sec | - Second value |
fsec | - Fractional part of the seconds |
Definition at line 653 of file interval.c.
OCI_EXPORT boolean OCI_API OCI_IntervalSetYearMonth | ( | OCI_Interval * | itv, |
int | year, | ||
int | month | ||
) |
Set the year / month portion if the given Interval handle.
itv | - Interval handle |
year | - Year value |
month | - Month value |
Definition at line 699 of file interval.c.
OCI_EXPORT boolean OCI_API OCI_IntervalAdd | ( | OCI_Interval * | itv, |
OCI_Interval * | itv2 | ||
) |
Adds an interval handle value to another.
itv | - Interval handle from witch to add |
itv2 | - Interval handle to add |
Definition at line 737 of file interval.c.
OCI_EXPORT boolean OCI_API OCI_IntervalSubtract | ( | OCI_Interval * | itv, |
OCI_Interval * | itv2 | ||
) |
Subtract an interval handle value from another.
itv | - Interval handle from witch to remove |
itv2 | - Interval handle to remove |
Definition at line 770 of file interval.c.