返回首页

gbase数据、南大通用产品文档:GBase8sOnConfigproperties 参数配置文件

更新日期:2024年09月11日

本版本新增参数配置文件 OnConfig.properties。可以通过更改 JDBC 驱动程序的
OnConfig.properties 文件,来定制 JDBC 接口的功能或者调整其行为。
OnConfig.properties文件位于 ifxjdbc.jar/com/gbasedbt/jdbc/OnConfig.properties 目录中。
配置
参数时需要将 OnConfig.properties 解压出来,修改后再放入其中将其覆盖。

deccmp() 函数比较两个 decimal 类型数值。
语法
mint deccmp(n1, n2)
dec_t *n1;
dec_t *n2;
n1
指向要比较的第一个数值的 decimal 结构的指针。
n2
指向要比较的第二个数值的 decimal 结构的指针。

返回代码
-1
第一个值小于第二个值。
0
两个值相同。
1
第一个值大于第二个值。
DECUNKNOWN
有一个值为空。

示例
demo 目录中的文件 deccmp.ec 包含下列样例程序。
/*
* deccmp.ec *
The following program compares DECIMAL numbers and displays the results.

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

*/

#include

EXEC SQL include decimal;
/* leading spaces will be ignored */
char string1[] = "-12345.6789";
char string2[] = "12345.6789";
char string3[] = "-12345.6789";
char string4[] = "-12345.6780";

main()
{
mint x;
dec_t num1, num2, num3, num4;

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

if (x = deccvasc(string1, strlen(string1), &num1))
{
printf("Error %d in converting string1 to DECIMAL\n", x);
exit(1);
}
if (x = deccvasc(string2, strlen(string2), &num2))
{
printf("Error %d in converting string2 to DECIMAL\n", x);
exit(1);
}
if (x = deccvasc(string3, strlen(string3), &num3))
{
printf("Error %d in converting string3 to DECIMAL\n", x);
exit(1);
}

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

if (x = deccvasc(string4, strlen(string4), &num4))
{
printf("Error %d in converting string4 to DECIMAL\n", x);
exit(1);
}

printf("Number 1 = %s\tNumber 2 = %s\n", string1, string2);
printf("Number 3 = %s\tNumber 4 = %s\n",string3, string4);
printf("\nExecuting: deccmp(&num1, &num2)\n");
printf(" Result = %d\n", deccmp(&num1, &num2));
printf("Executing: deccmp(&num2, &num3)\n");
printf(" Result = %d\n", deccmp(&num2, &num3));
printf("Executing: deccmp(&num1, &num3)\n");
printf(" Result = %d\n", deccmp(&num1, &num3));
printf("Executing: deccmp(&num3, &num4)\n");
printf(" Result = %d\n", deccmp(&num3, &num4));

printf("\nDECCMP Sample Program over.\n\n");
exit(0);
}
输出

DECCMP Sample ESQL Program running.

Number 1 = -12345.6789 Number 2 = 12345.6789
Number 3 = -12345.6789 Number 4 = -12345.6780

Executing: deccmp(&num1, &num2)
Result = -1
Executing: deccmp(&num2, &num3)
Result = 1
Executing: deccmp(&num1, &num3)
Result = 0

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

Executing: deccmp(&num3, &num4)
Result = -1

DECCMP Sample Program over.

Cannot take null input
您提供的字符串为空。在这种情况中,GBase 8s JDBC Driver 无法理解空输入。
请检查输入字符串,确保它具有适当的值。