返回首页

gbase数据、南大通用产品文档:GBase8s精确数值

更新日期:2024年09月11日

精确数值是作为整数的、作为定点小数的或以指数计数法的以 10 为基数的实数
表示。每当您在语法图中看到对文字数值的引用时,请使用 Literal Number 段。
语法
精确数值

元素
描述
限制
语法
digit
取值范围从 0 至 9
的整数
必须为 ASCII 数

从键盘输入的文字。
用法
您可包括逗号(,)或空字符(ASCII 32)。一元加号(+)或减号(-)可出现在
精确数值、假数或指数之前。

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 1572
您不可在精确数值中包括非 ASCII 数字,诸如某些非缺省的语言环境支持的
Hindi 数值。
整数
整部没有小数部分且不可包括小数点。可精确地表示为文字的整数的内建的 SQL
数据类型包括 BIGINT、BIGSERIAL、DECIMAL(p, 0)、INT、INT8、SERIAL、
SERIAL8 和 SMALLINT。
如果您在文字整数有效的任何上下文中,使用 10 以外的基数(诸如二进制、八
进制或十六进制)来表示数目,则数据库服务器会试图将该值解释成以 10 为基
本数字的文字整数。对于大多数的数据值,结果将是不正确。
下列示例展示一些有效的整数:
10 -27 +25567
在整数中,千位分隔符(比如逗号)不是有效的,在任何其他精确数值用也无
效。
定点小数
定点小数正好可表示 DECIMAL(p,s) 和 MONEY 值。这些可包括小数点:
-123.456 00123456 +123456.0
在这些示例中小数点右边的数字是该数值的小数部分。
浮点小数
浮点小数正好表示 FLOAT、SMALLFLOAT 和 DECIMAL(p) 值,使用小数点或
指数表示法,或两者都用。 您可以指数表示法粗略地表示实数。下一示例展示浮
点数值:
-123.45E6 1.23456E2 123456.0E-3
在前面的示例中的 E 是指数表示法的符号。跟在 E 之后的数字是指数
的值。例如,数值 3E5(或 3E+5)意味着 3 乘以 10 的五次方,而数
值 3E-5 意味着 3 乘以 10 的五次方的倒数。

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 1573
精确数值和 MONEY 数据类型
当您使用精确数值作为 MONEY 值时,请不要包括币种符号或包括逗号。
DBMONEY 函数或语言环境文件可确定在输出中如何显示 MONEY 值的格式。

使用 STD_TO_DATE 配置参数来控制 TO_DATE() 函数的行为。
onconfig.std 值
STMT_TO_DATE 1

1= 缺省值,体现 TO_DATE() 函数本身的功能。
0 = TO_DATE() 函数等同于 GBASE_TO_DATE() 函数,体现GBASE_TO_DATE() 函数的功能。

有关 GBASE_TO_DATE() 函数和 TO_DATE() 函数的用法,请参阅《GBase 8s SQL 指南:语
法》。
生效
编辑 onconfig 文件并重启数据库服务器之后。

功能说明
语句指明了处理程序,
每个可以处理一个或多个条件。
如果产生一个或多个条件,
指定的语句将被执行。
语法格式
DECLARE handler_type HANDLER FOR condition_value[,...] statement
handler_type:
CONTINUE
| EXIT
condition_value:
SQLSTATE [VALUE] sqlstate_value
| condition_name
| SQLWARNING
| NOT FOUND

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1384
| SQLEXCEPTION
| gbase_error_code
表5- 190 参数说明
参数名称


handler_type
处理的动作
CONTINUE
在处理器语句执行结束后,当前的程序继续执行。
EXIT
当前BEGIN...END 复合语句的执行被终止。
statement
一条或多条语句
condition_value
异常处理捕获条件或情况
condtion_name
条件名称,使用DECLARE...CONDITION 语句来定义
SQLWARNING
对所有以01 开始的SQLSTATE 代码的速记
NOT FOUND
对所有以02 开始的SQLSTATE 代码的速记
SQLEXCEPTION
对所有没有被SQLWARNING 或NOTFOUND 捕获的
SQLSTATE 代码的速记。
示例
示例1:
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET
has_error = 1;