返回首页

gbase数据、南大通用产品文档:GBase8a卸载资源库

更新日期:2024年09月11日

用户可以根据已经安装的资源库种类,结合各种数据库操作手册及操作步
骤,删除monitor 库,并卸载相应类型的资源库即可。

rfmtdouble() 函数使用格式化掩码来将 double 值转换为字符串。

语法
mint rfmtdouble(dbl_val, fmtstring, outbuf)
double dbl_val;
char *fmtstring;
char *outbuf;
dbl_val
要格式化的 double 数值。
fmtstring
指向包含 dbl_val 中的值的格式化掩码的字符缓冲区的指针。

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 870 -

outbuf
指向接收 dbl_val 中的值的格式化的字符串的字符缓冲区的指针。

用法
rfmtdouble() 函数的 fmtstring 参数指向数值格式化掩码,其包含描述
如何格式化 double 值的字符。

当您使用 rfmtdouble() 来格式化 MONEY 值时,该函数使用 DBMONEY 环境变量
指定的货币符号。如果您未指定此环境变量,则 rfmtdouble() 使用客户机语言环境定义的
货币符号。
缺省的语言环境 US English 定义货币符号如同您将 DBMONEY 设置为
“$,.”
一样。

当您使用有多字节代码集的非缺省的语言环境时,rfmtdouble() 支持格式字符串中的
多字节字符。

返回代码
0
转换成功。
-1211
程序用尽内存(内存分配错误)。
-1217
格式字符串太大。

示例
demo 目录在文件 rfmtdouble.ec 中包含此样例程序。
/*
* rfmtdouble.ec *
The following program applies a series of format specifications to series of doubles
and displays the result of each format.
*/

#include



GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 871 -

double dbls[] =
{
210203.204,
4894,
443.334899312,
-12344455,
0
};

char *formats[] =
{
"#############",
"<,<<<,<<<,<<<",
"$$$$$$$$$$.##",
"(&&,&&&,&&&.)",
"$*********.**",
0
};

char result[41];

main()
{
mint x;
mint i = 0, f;

printf("RFMTDOUBLE Sample ESQL Program running.\n\n");

while(dbls[i]) /* for each number in dbls */
{
printf("Double Number = %g\n", dbls[i]);
f = 0;
while(formats[f]) /* format with each of formats[] */

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 872 -

{
if (x = rfmtdouble(dbls[i], formats[f], result))
{
printf("Error %d in formatting %g using %s\n",
x, dbls[i], formats[f]);
break;
}
/*
* Display each result and bump to next format (f++)
*/
result[40] = '\0';
printf(" Format String = '%s'\t", formats[f++]);
printf("\tResult = '%s'\n", result);
}
++i; /* bump to next double */
printf("\n"); /* separate result groups */
}
printf("\nRFMTDOUBLE Sample Program over.\n\n");
}
输出
RFMTDOUBLE Sample ESQL Program running.

Double Number = 210203
Format String = '#############'
Result = ' 210203'
Format String = '<,<<<,<<<,<<<'
Result = '210,203'
Format String = '$$$$$$$$$$.##'
Result = ' $210203.20'
Format String = '(&&,&&&,&&&.)'
Result = ' 000210,203. '
Format String = '$*********.**'
Result = '$***210203.20'

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 873 -


Double Number = 4894
Format String = '#############'
Result = ' 4894'
Format String = '<,<<<,<<<,<<<'
Result = '4,894'
Format String = '$$$$$$$$$$.##'
Result = ' $4894.00'
Format String = '(&&,&&&,&&&.)'
Result = ' 000004,894. '
Format String = '$*********.**'
Result = '$*****4894.00'

Double Number = 443.335
Format String = '#############'
Result = ' 443'
Format String = '<,<<<,<<<,<<<'
Result = '443'
Format String = '$$$$$$$$$$.##'
Result = ' $443.33'
Format String = '(&&,&&&,&&&.)'
Result = ' 0000000443. '
Format String = '$*********.**'
Result = '$******443.33'

Double Number = -1.23445e+07
Format String = '#############'
Result = ' 12344455'
Format String = '<,<<<,<<<,<<<'
Result = '12,344,455'
Format String = '$$$$$$$$$$.##'
Result = ' $12344455.00'
Format String = '(&&,&&&,&&&.)'

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 874 -

Result = '(12,344,455.)'
Format String = '$*********.**'
Result = '$*12344455.00'

RFMTDOUBLE Sample Program over.

语法说明
日期+(-) bit_expr
同以下语法等价:
日期+(-) interval expr type
运算说明
日期加减运算跟普通的加减运算逻辑一样,只是后面加的数字、字符或表达式的
单位为天数。
该语法是在date 类型、
datetime 类型、
timestamp 类型变量后面加
(或
减去)指定的bit_expr 的天数。
示例
示例1:CAST('2019-06-18' as date)
+ 30 为日期,返回增加30 天后的日期。
gbase> SELECT CAST('2019-06-18' as date)
+ 30
FROM dual;
+----------------------------------+
| CAST('2019-06-18' as date)
+ 30 |
+----------------------------------+
| 2019-07-18
|
+----------------------------------+
1 row in set