VastbaseG100

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

Menu

Number类型接口

OCINumberFromText

功能描述

将字符串转换为OCINumber。

功能说明

根据指定的格式将给定的字符串转换为 NUMBER。 有关格式和多语言参数的说明,请参见TO_NUMBER 转换函数。

接口信息

函数/过程

OCINumberFromText的语法如下:

sword OCINumberFromText ( OCIError           *err, 
                          const OraText      *str, 
                          ub4                 str_length,
                          const OraText      *fmt,
                          ub4                 fmt_length, 
                          const OraText      *nls_params, 
                          ub4                 nls_p_length, 
                          OCINumber          *number );

参数解释如下:

  • err(IN/OUT):OCI 错误句柄。如果有错误,则记录在err中,并且该函数返回OCI_ERROR。 通过调用 OCIErrorGet() 获取诊断信息。
  • str(IN):要转换为 OCINumber的输入字符串。例如”1234567890-“,” .10”,” -.10”,” 1”,“$123.45”,“123.456”等格式。
  • str_length(IN):输入字符串的大小。
  • fmt(IN):转换格式。支持”9999999999S”,“99.99”,“B9999”,“FML999.99”,“FM999.009”等转换格式。
  • fmt_length(IN):转换格式长度。
  • nls_params(IN):全局支持格式。如果是 NULL 字符串 (“”),则使用会话的默认参数。
  • nls_p_length(IN):nls_params的长度。
  • number (OUT):输出的OCINumber类型。

其他说明

OCINumberToText

功能描述

根据指定格式将 OCINumber转换为字符串。

功能说明

根据格式转换为字符串,格式可以参考TO_NUMBER 函数参数。

接口信息

函数/过程

OCINumberToText的语法如下:

sword OCINumberToText ( OCIError             *err,
                        const OCINumber      *number, 
                        const OraText        *fmt, 
                        ub4                   fmt_length,
                        const OraText        *nls_params, 
                        ub4                   nls_p_length,
                        ub4                  *buf_size, 
                        OraText              *buf );;

参数解释如下:

  • err(IN/OUT):OCI 错误句柄。如果有错误,则记录在err中,并且该函数返回OCI_ERROR。 通过调用 OCIErrorGet() 获取诊断信息。
  • number (IN):要转换的OCINumber类型。
  • fmt(IN):转换格式。支持”9999999999S”,“99.99”,“B9999”,“FML999.99”,“FM999.009”等转换格式。
  • fmt_length(IN):转换格式长度。
  • nls_params(IN):全局支持格式。如果是 NULL 字符串 (“”),则使用会话的默认参数。
  • nls_p_length(IN):nls_params的长度。
  • buf_size(OUT):转换后的字符串所在的缓冲区大小。
  • str(OUT):转换后的字符串所在的缓冲区。

其他说明

OCINumberIsInt

功能描述

测试 OCINumber 是否为整数。

功能说明

测试 OCINumber 是否为整数,如果参数 number 或 result 为 NULL,则此函数返回错误。

接口信息

函数/过程

OCINumberIsInt 的语法如下:

sword OCINumberIsInt ( OCIError         *err, 
                       const OCINumber  *number,
                       boolean          *result );

参数解释如下:

  • err(IN/OUT):OCI 错误句柄。如果有错误,则记录在err中,并且该函数返回OCI_ERROR。 通过调用 OCIErrorGet() 获取诊断信息。
  • number (IN):要转换的OCINumber类型。
  • result (OUT):如果是整数值则设置为TRUE;否则为FALSE。

其他说明

OCINumberToInt

功能描述

转换OCINumber 为整数。

功能说明

这是一个原生类型转换函数。 它将给定的 Oracle NUMBER 转换为 xbn 形式的整数,例如 ub2、ub4 或 sb2。

如果 number 或 rsl 为 NULL,如果 number 太大(溢出)或太小(下溢),或者在 rsl_flag 中传递了无效的符号标志值,则此函数返回错误。

接口信息

函数/过程

OCINumberToInt 的语法如下:

sword OCINumberToInt ( OCIError              *err,
                       const OCINumber       *number,
                       uword                 rsl_length,
                       uword                 rsl_flag, 
                       void                  *rsl );

参数解释如下:

  • err(IN/OUT):OCI 错误句柄。如果有错误,则记录在err中,并且该函数返回OCI_ERROR。 通过调用 OCIErrorGet() 获取诊断信息。
  • number (IN):要转换的OCINumber类型。
  • rsl_length(IN):所需结果的大小。
  • rsl_flag(IN):指定输出符号的标志,如下所示:
    • OCI_NUMBER_UNSIGNED:无符号值。
    • OCI_NUMBER_SIGNED:有符号值。
  • rsl(OUT):指向结果空间的指针。

其他说明

OCINumberToReal

功能描述

转换OCINumber 为实数。

功能说明

此函数将 OCINumber 转换为系统原生的实数类型。 此函数仅将 NUMBER 转换为精度为 LDBL_DIG、DBL_DIG 或 FLT_DIG 的数字,并删除尾随零。 这些常量在 float.h 中定义。

用户必须将有效的 OCINumber 传递给此函数。 否则结果是未定义的。

接口信息

函数/过程

OCINumberToReal 的语法如下:

sword OCINumberToReal ( OCIError            *err,
                        const OCINumber     *number,
                        uword                rsl_length,
                        void                *rsl );

参数解释如下:

  • err(IN/OUT):OCI 错误句柄。如果有错误,则记录在err中,并且该函数返回OCI_ERROR。 通过调用 OCIErrorGet() 获取诊断信息。
  • number (IN):要转换的OCINumber类型。
  • rsl_length(IN):所需结果的大小,等于 sizeof ( { float | double | long double } )
  • rsl(OUT):指向结果空间的指针。

其他说明