返回首页

gbase数据、南大通用产品文档:GBase8sDBFLTMASK 环境变量

更新日期:2024年09月11日

DB-Access 实用程序在 14 字符缓冲区内显示数据类型为 FLOAT、SMALLFLOAT
和 DECIMAL(p) 的浮点值。
缺省情况下,
DB-Access 显示小数点右边尽可能多的位数
(在
此字符缓冲区能容纳的情况下)。因此,DB-Access 显示的实际小数位数取决于浮点值的
大小。
要降低浮点值中小数点右边显示的位数,请将 DBFLTMASK 设置为指定的位数。

scale 是想要 GBase 8s 客户机应用程序在浮点值中显示的小数位数。此处 scale 必
须小于 16(显示的缺省位数)。

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 153 -

如果浮点值包含的小数点右边位数超过 DBFLTMASK 指定的位数,DB-Access 会将
该值舍入为指定位数。如果浮点值包含的小数点右边位数少于指定位数,那么 DB-Access
会使用零来填充该值。但是,如果将 DBFLTMASK 设置为 14 个字符的缓冲区不能容纳
的值,DB-Access 会将该值舍入为可容纳的位数。

取值:无限制
默认值:0
说明:集群锁的等待时间。默认值为0,没有时间限制。
修改方式:
可使用set 语句修改值也可在配置文件中修改值。
适用于session、
global
范围均可。

函数说明
expr LIKE pat [ESCAPE 'escape-char']。
使用SQL 的简单的正则表达式进行比较的
模式匹配。如果表达式expr 匹配pat,返回1(TRUE),否则返回0(FALSE)。
模式未必就是文字字符串,例如,它可以使用字符串表达式或表列。可以在模式
中使用下面所示的两个通配符与LIKE 配合使用。
表5- 13 通配符说明
字符
含义
%
匹配任意多个字符,或零个字符。
_
严格地匹配一个字符。
示例
示例1:expr 与pat 相匹配,通配符为“_”,返回1。
gbase> SELECT 'David!' LIKE 'David_' FROM dual;
+------------------------+
| 'David!' LIKE 'David_' |
+------------------------+

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
732
|
1 |
+------------------------+
1 row in set
示例2:expr 与pat 相匹配,通配符为“%”,返回1。
gbase> SELECT 'David!' LIKE '%D%v%' FROM dual;
+-----------------------+
| 'David!' LIKE '%D%v%' |
+-----------------------+
|
1 |
+-----------------------+
1 row in set
说明
substr 在str 中的位置,以1 开始计数。
返回的位置是按全字符串正向位置计数的,与从哪个位置开始无关。
表5- 14 字符串说明
字符串
含义
\%
匹配一个%字符。
\_
匹配一个_字符。
示例3:expr 与pat 不匹配,返回0。
gbase> SELECT 'David!' LIKE 'David\_' FROM dual;
+-------------------------+
| 'David!' LIKE 'David\_' |
+-------------------------+
|
0 |
+-------------------------+
1 row in set
示例4:转义字符“\_”匹配“_”。
gbase> SELECT 'David_' LIKE 'David\_' FROM dual;
+-------------------------+
| 'David_' LIKE 'David\_' |
+-------------------------+
|
1 |
+-------------------------+
1 row in set

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
733
示例5:为了指定一个不同的转义字符,可以使用ESCAPE 子句。
gbase> SELECT 'David_' LIKE 'David|_' ESCAPE '|' FROM dual;
+------------------------------------+
| 'David_' LIKE 'David|_' ESCAPE '|' |
+------------------------------------+
|
1 |
+------------------------------------+
1 row in set
示例6
gbase> SELECT 'abc' LIKE 'ABC' FROM dual;
+------------------+
| 'abc' LIKE 'ABC' |
+------------------+
|
1 |
+------------------+
1 row in set
示例7
gbase> SELECT 'abc' LIKE BINARY 'ABC' FROM dual;
+-------------------------+
| 'abc' LIKE BINARY 'ABC' |
+-------------------------+
|
0 |
+-------------------------+
1 row in set
说明
以上示例6 和示例7 表明,字符串比较是忽略大小写的,除非任一
操作数是一个二进制字符串。
示例8:LIKE 允许用在一个数字表达式上。
gbase> SELECT 10 LIKE '1%' FROM dual;
+--------------+
| 10 LIKE '1%' |
+--------------+
|
1 |
+--------------+
1 row in set

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
734
注意

由于GBase 8a MPP Cluster 在字符串中使用C 转义语法(例如,用
“\n”代表一个换行字符),
在LIKE 字符串中,
必须将用到的“\”双写;

例如,若要查找“\n”,必须将其写成“\\n”。而若要查找“\”,
则必须将其写成‘\\\\’。原因是反斜线符号会被语法分析程序剥离一
次,在进行模式匹配时,又会被剥离一次,最后会剩下一个反斜线
符号接受匹配。