VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

Date类型接口

TO_DATE中fmt支持的格式

描述 fmt描述符 解释
Y 年(显示4位,默认21世纪)
YY
YYY
YYYY
RR 年(显示4位,默认21世纪)
RRRR
MM 月份数(01-12)
DD 一个月里的日(01-31)
分隔符 \ - , ; : # / text 描述符分隔符
HH 时(0-11)
HH24 24小时制(0-23)
MI 分(0-59)
SS 秒(0-59,为60的话分钟值会自动加1)

OCIDateSysDate

功能描述

获取客户端当前系统的时间和日期。

功能说明

获取客户端当前系统的时间和日期。

接口信息

函数/过程

OCIDateSysDate语法如下:

sword OCIDateSysDate( 
                    OCIError     *errhp, 
                    OCIDate        *sys_date
 )

具体参数解释如下:

  • errhp(IN):错误句柄,当出现错误时,使用OCIErrorGet()获取错误信息。
  • sya_date(OUT):客户端当前的时间和日期,不能为空。

其他说明

OCIDateToText

功能描述

将日期类型转换为字符串。

功能说明

将日期类型转换成字符串。

接口信息

函数/过程

OCIDateToText语法如下:

sword OCIDateToText ( 
OCIError                  *err, 
                        const OCIDate             *date, 
                        const OraText             *fmt, 
                        ub1                        fmt_length, 
                        const OraText             *lang_name,
                        ub4                        lang_length, 
                        ub4                       *buf_size, 
                        OraText                   *buf 
)

参数的解释如下:

  • err(IN):错误句柄,可以通过OCIErrorGet()诊断错误信息。
  • date(IN):要装换的OCIDate类型的日期。
  • fmt(IN):转换成的格式。如果为NULL、(text*)0,则日期将装换成默认格式“DD-MON-YY”的字符串
    • 目前只支持“dd”表示日,“mm”表示月,“yyyy”表示年,“hh”表示时,“mi”表示分,“ss”表示秒,但是字段顺序没有要求,字段分隔符也没有要求。例如:“ddmmyyyy:hhmiss”或者“dd mm yyyy:hh mi ss”。
    • 目前暂不支持为NULL使用默认的情况。
    • 目前年份暂时不考虑为负数的情况。
  • fmt_length(IN):fmt的长度。
  • lang_name(IN):指定返回月份和日期的名称的缩写的语言;lang_name如果为NULL、(text*)则会使用默认语言。目前暂不支持指定。
  • leng_length(IN):lang_name的长度,目前暂不支持指定。
  • buf_size(IN/OUT):输入缓冲区的大小,输出字符串的大小。
  • buf(out):转换成字符串后所在的缓冲区,不能为空。

其他说明

OCIDateFromText

功能描述

根据指定格式的字符串转换成日期类型。

功能说明

根据给定的字符串以及字符串格式,将字符串转换成日期时间类型。

接口信息

函数/过程

OCIDateFromText语法如下:

sword OCIDateFromText( 
OCIError           *err,
const OraText      *date_str, 
ub4                 d_str_length, 
const OraText      *fmt,
 ub1                 fmt_length, 
const OraText      *lang_name,
ub4                 lang_length, 
                        OCIDate            *date 
)

参数的解释如下:

  • err(IN):错误句柄,可以通过OCIErrorGet()诊断错误信息。
  • date_str(IN):要转换成日期类型的字符串。
  • d_str_length(IN):输入的字符串长度。如果为-1,则将date_str视为以NULL结尾的字符串。
  • fmt(IN):字符串的格式,如果fmt是NULL指针,则字符默认为“DD-MON-YY”格式
    • 目前只支持“dd”表示日,“mm”表示月,“yyyy”表示年。但是字段顺序没有要求,字段分隔符也没有要求。例如:“ddmmyyyy”或者“dd mm yyyy”。
    • 目前暂不支持为NULL使用默认的情况。
  • fmt_length(IN):fmt的长度。
  • leng_name(IN):指定日期和月份的名称和缩写的语言,如果lang_name是NULL、(text*)0,则使用默认语言。
  • lang_length(IN):lang_name的长度。
  • date(IN):结果的日期类型指针,不能为空。

其他说明

OCIDateAssign

功能描述

进行一个日期赋值。

功能说明

OCIDateAssign进行一个日期赋值。

接口信息

函数/过程

接口如下:

sword OCIDateAssign( OCIError *err,
                     const OCIDate * from,
                     OCIDate * to);

参数解释如下:

  • err(IN/OUT):OCI错误句柄。若有错误就记录在err中,并且由该函数返回OCI_ERROR,调用OCIErrorGet()获得错误的诊断信息。

  • from(IN):被分配的日期值。

  • to(OUT):日期所分配到的对象。

外部接口

其他说明

OCIDateCheck

功能描述

测定给定的日期是否有效。

功能说明

OCIDateCheck测定给定的日期是否有效。

接口信息

函数/过程

接口如下:

sword OCIDateCheck(OCIError    *err,
             CONST OCIDate    *date,
             uword    *valid);

参数解释如下:

  • err(IN/OUT):OCI错误句柄。若有错误就记录在err中,并且由该函数返回OCI_ERROR,调用OCERrrorGet()获得错误的诊断信息。

  • date(IN):欲进行测试的日期值。

  • valid(OUT):对于一个有效的日期,将返回0,否则将返回所出错误的组合。

外部接口

其他说明

Macro Name Bit Number Error
OCI_DATE_INVALID_DAY 0x1 Bad day
OCI_DATE_DAY_BELOW_VALID 0x2 Bad day low/high bit(1=low)
OCI_DATE_INVALID_MONTH 0x4 Bad month
OCI_DATE_MONTH_BELOW_VALID 0x8 Bad month low/high bit(1=low)
OCI_DATE_INVALID_YEAR 0x10 Bad year
OCI_DATE_YEAR_BELOW_VALID 0x20 Bad year low/high bit(1=low)
OCI_DATE_INVALID_HOUR 0x40 Bad hour
OCI_DATE_INVALID_MINUTE 0x100 Bad minute
OOCI_DATE_INVALID_SECOND Ox400 Bad second

OCIDateCompare

功能描述

进行两日期的比较。

功能说明

进行两日期的比较。

接口信息

函数/过程

接口如下:

sword OCIDateCompare( OCIError    *err,
             CONST OCIDate    *date1,
             CONST OCIDate    *date2,
             sword    *result);

参数解释如下:

  • err(IN/OUT):OCI错误句柄。若有错误就记录在err中,并且有该函数返回OCE_ERROR,调用OCIErrorGet()获得错误的诊断信息。

  • date1,date2(IN):欲进行比较的日期。

  • result(OUT):比较的结果。

外部接口

其他说明

OCIDateGetDate

功能描述

获取一个数据库日期中的年月日。

功能说明

获取一个数据库日期中的年月日。

接口信息

函数/过程

接口如下:

Void OCIDateGetDate(CONST OCIDate  *date,
              sb2    *year
              Ub1    *month
              Ub1    *day);

参数解释如下:

  • date(IN):一个日期。

  • year(OUT):返回的year元素值。

  • month(OUT):返回的month元素值。

  • day(OUT):返回的day元素值。

外部接口

其他说明

OCIDateGetTime

功能描述

获取一个日期中的时间(time)对象。

功能说明

获取一个日期中的时间(time)对象。

接口信息

函数/过程

接口如下:

void OCIDateGetTime( CONST OCIDate    *date,
             ub1    *hour,
             ub1    *min,
             ub1    *sec);

参数解释如下:

  • date(IN):一个日期。

  • hour(OUT):返回的time对象中的hour元素值。

  • min(OUT):返回的time对象中的min元素值。

  • sec(OUT):返回的time对象中的sec元素值。

外部接口

其他说明

OCIDateSetDate

功能描述

设置日期的值。

功能说明

设置日期的值。

接口信息

函数/过程

接口如下:

Void OCIDateSetDate( OCIDate    *date,
            sb2    year,
            ub1    month,
            ub1    day);

参数解释如下:

  • date(OUT):时间数据已经设置的数据库服务器日期。

  • year(IN):设置年的值。

  • month(IN):设置月的值。

  • day(IN):设置天的值。

外部接口

其他说明

OCIDateSetTime

功能描述

设置时间的值。

功能说明

设置时间的值。

接口信息

函数/过程

接口如下:

Void OCIDateSetTime( OCIDate    *date,
             ub1    hour,
             ub1    min,
             ub1    sec);

参数解释如下:

  • date(OUT):时间数据已经设置的数据库服务器日期。

  • hour(IN):设置小时的值。

  • min(IN):设置分钟的值。

  • sec(IN):设置秒的值。

外部接口

其他说明

OCIDateLastDay

功能描述

返回指定日期的月的最后那天的日期。

功能说明

返回指定日期的月的最后那天的日期。

接口信息

函数/过程

接口如下:

sword OCIDateLastDay( OCIError    *err,
                      const OCIDate    *date,
                      OCIDate    *last_date);

参数解释如下:

  • Err(IN/OUT):OCI错误句柄。若有错误就记录在err中,并且由该函数返回OCI_ERROR,调用OCIErrorGet()获得错误的诊断信息。

  • date(IN):输入日期(月份有效期1-12)。

  • last_day(OUT):返回输入日期对应月最后一天的日期。

外部接口

其他说明

OCIDateNextDay

功能描述

返回指定日期的周的随后那天的日期。

功能说明

返回指定日期的周的随后那天的日期。

接口信息

函数/过程

接口如下:

sword OCIDateNextDay( OCIError    *err,
             CONST OCIDate    *date,
             CONST OraText    *day_p,
             ub4    day_length,
             OCTDate  *next_day);

参数解释如下:

  • err(IN/OUT):OCI错误句柄。若有错误就记录在err中,并且由该函数返回OCI_ERROR,调用OCIErrorGet()获得错误的诊断信息。

  • date(IN):输入日期。

  • day_p(IN):输入指定的星期号,如下表所示(输入不区分大小写)。

星期号 表示1 表示2
星期日 SUNDAY SUN
星期一 MONDAY MON
星期二 TUESDAY TUE
星期三 WEDNESDAY WED
星期四 THURSDAY THU
星期五 FRIDAY FRI
星期六 SATURDAY SAT
  • day_length(IN):day字符串的字节长度。

  • next_day(OUT):返回指定的那一周的比date晚的第一天。

外部接口

其他说明

OCIDateAddDays

功能描述

对于一个给定的日期,增加或减去相应的天数。

功能说明

对于一个给定的日期,增加或减去相应的天数。

接口信息

函数/过程

接口如下:

sword OCIDateAddDays( OCIError    *err,
             CONST OCIDate    *date,
             sb4    num_days,
             OCIDate    *result);

参数解释如下:

  • err(IN/OUT):OCI错误句柄。若有错误就记录在err中,并且由该函OCI_ERROR,用OCIErrorGet()获得错误的诊断信息。

  • date(IN):欲增加或减去相应天数的日期值。

  • num_days(IN):增加或减去的天数,负值表示减。

  • result(IN/OUT):对date增加或减去相应天数后的结果。

外部接口

其他说明

OCIDateAddMonths

功能描述

对于一个给定的日期,增加或减去相应的天数。

功能说明

对于一个给定的日期,增加或减去相应的天数。

接口信息

函数/过程

接口如下:

sword OCIDateAddMonths( OCIError    *err,
             CONST OCIDate    *date,
             Sb4    num_months,
             OCIDate    *result);

参数解释如下:

  • err(IN/OUT):OCI错误句柄。若有错误就记录在err中,并且由该函数返回OCI_ERROR,调用OCIErrorGet()获得错误的诊断信息。

  • date(IN):欲增加或减去相应月份的日期值。

  • num_months(IN):增加或减去的月份数,负值表示减。

  • result(IN/OUT):对date增加或减去相应月份数后的结果。

外部接口

其他说明

OCIDateZoneToZone

功能描述

将日期从一个时区转换为另一个时区。

功能说明

将日期从一个时区转换为另一个时区。

接口信息

函数/过程

接口如下:

sword OCIDateZoneToZone(  OCIEror *err, const OcIDate *datel.
         const oratext *zon1,
         ub4 zonl_length, const oratext *zon2,
         ub4 zon2 length, OCIDate *date2 );

参数解释如下:

  • em(IN/OUT):错误句柄。若有错误就记录在 err中,并且由该函数返回 OCI_ERROR,调用OCIEmorGe()获得错误的诊断信息。

  • datel(IN):日期值 1。

  • zon1(IN):时区1,有效值如下:

    • AST, ADT: Atlantic Standard or Daylight Time

    • BST, BDT: Bering Standard or Daylight Time

    • CST, CDT: Central Standard or Daylight Time

    • EST, EDT: Eastern Standard or Daylight Time

    • GMT: Greenwich Mean Time

    • HST, HDT: Alaska-Hawaii Standard Time or Daylight Time

    • MST, MDT: Mountain Standard or Daylight Time

    • NST: Newfoundland Standard Time

    • PST, PDT: Pacific Standard or Daylight Time

    • YST, YDT: Yukon Standard or Daylight Time

  • zon1_length(IN):时区1长度。

  • Zon2(IN):时区2取值和时区1同。

  • Zon2_length(IN):时区2长度。

  • Date2(OU):输出的日期 2。

外部接口

其他说明

OCIDateDaysBetween

功能描述

获取两个日期之间的天数。

功能说明

获取两个日期之间的天数。

接口信息

函数/过程

接口如下:

sword OCIDateDaysBetween(  OCIError *err, const OCIDate *date1,
                const OCIDate*date2, sb4 *num_days);

参数解释如下:

  • em(IN/OUT):OCI错误句柄。若有错误就记录在err中,并且由该函数返回OCI_ERROR,调用OCIErrorGet()获得错误的诊断信息。

  • datel(IN):日期值 1。

  • date2(IN):日期值 2。

  • days(OUT):相隔的天数。

外部接口

其他说明