![](https://img-blog.csdnimg.cn/4f566247172f42d0993793a1f0acaff1.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Gbase 8s 语法功能函数
自带语法[工具]的使用,支持的相关SQL使用
八珍豆腐
什么都不会
展开
-
Gbase 8s dbaccess环境变量介绍
DBFLTMASK默认情况下,dbaccess会尽可能的显示浮点数的小数位数。通过设置该环境变量,控制dbaccess在输出小数信息时,尽量只显示指定位数的小数。DBEDIT设置dbaccess中使用的操作系统文本编辑器,默认为vi。DBMONEYGBase 8s中的money数据类型的显示。默认情况下,会根据操作系统的本地化设置,显示货币信息。可以通过该环境变量,设置需要显示的信息。GL_DATEGBase 8s中的date数据类型,默认格式为月/日/年(英文),可以设置GL_原创 2022-01-19 14:04:03 · 1144 阅读 · 2 评论 -
GBase 8s事务相关概念
事务(Transaction)对数据库一系列操作的集合。事务的特性(ACID)原子性(Atomicity):事务中的所有操作要么都执行完(然后全部提交),要么一个都不执行(全部回滚)。事务中的操作不可部分执行,更不可分割。一致性(Consistency):事务运行结果不改变数据库中的数据一致性。例如“转账”事务,转账前后两个账户的余额总计是不变的。隔离性(Isolation):事务并发运行过程中,一个事务不能被其他事务或操作干扰。同时执行的事务之间不能互相影响。持久性(Durabil原创 2022-01-19 14:03:08 · 164 阅读 · 0 评论 -
Gbase 8s dbaccess工作模式介绍
交互模式菜单交互模式dbaccess提供了一个基于控制台的菜单,用户可以使用方向键或快捷键,选择和执行相应的功能。直接运行dbaccess命令,即可进入菜单的交互模式。指令交互模式dbaccess提供了一个类似mysql或sqlplus的客户端交互模式,用户输入要执行的指令并回车,dbaccess执行用户输入的指令,并返回执行结果。可以通过为dbaccess提供两个参数,进入指令交互模式。非交互模式管道模式dbaccess可以接收STDIN中的内容,做为dbacc原创 2022-01-19 14:04:38 · 377 阅读 · 0 评论 -
GBase 8s LIKE语句
在数据库中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录。WHERE 子句中可以使用等号 = 来设定获取数据的条件,如 “name = ‘李雷’”。但是有时候我们需要获取 name 字段含有 “李” 字符的所有记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。SQL LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *; 使用下划线 _ 字段来表示单个字原创 2022-02-23 14:08:20 · 662 阅读 · 0 评论 -
GBase 8s ALTER TABLE 命令
在 GBase 8s 中,ALTER TABLE 命令用于添加,修改,删除一张已经存在表的列。另外你也可以用 ALTER TABLE 命令添加和删除约束。语法用 ALTER TABLE 在一张已存在的表上添加列的语法如下:ALTER TABLE t1 ADD c1 int;在一张已存在的表上 DROP(删除列),语法如下:ALTER TABLE t1 DROP c1;给表中某列添加 NOT NULL 约束,语法如下:ALTER TABLE t1 MODIFY c1 int NOT N原创 2022-02-23 14:07:14 · 1319 阅读 · 0 评论 -
ESQLC数据类型 - 数学运算时的转换
GBase8s ESQL/C实行数学运算:当ESQL/C在两个值上执行数学运算时,当两个值类型不匹配时, 将执行类型转换。转换规则如下: 操作 DEC FLOAT INT SERIAL SMALLFLOAT SMALLINT DEC DEC DEC DEC原创 2022-01-25 09:16:24 · 73 阅读 · 0 评论 -
ESQL包含的组件 -头文件
GBase8s ESQL/C中的头文件:安装ESQL/C之后, 安装脚本将头文件保存到CSDK安装目录/incl/esql目录下。ESQL/C 头文件列表如下: 头文件名称 包含的内容 datetime.h ESQL/C datetime和interval结构的定义,该结构可以用来存取数据库表中的DATETIME和INTERVAL列。 decimal.h ESQL/C的deci原创 2022-01-25 09:20:38 · 147 阅读 · 0 评论 -
ESQLC数据类型 - 数值类型boolean
GBase8s ESQL/C 使用boolean数据类型来处理SQL BOOLEAN数据类型。使用如下的格式声明ESQL/C的boolean数据类型。EXEC SQL BEGIN DECLARE SECTION;boolean flag;EXEC SQL END DECLARE SECTION;在GBase8s ESQL/C程序中, 下面的值是唯一有效的boolean类型的值TRUE ‘\1’FALSE ‘\0’NULL 调用用rsetnull()函数...原创 2022-01-26 09:14:49 · 152 阅读 · 1 评论 -
ESQLC数据类型 - string类型
GBase8s ESQL/C字符串数据类型GBase8s ESQL/C支持5种字符串数据类型, 如果在数据库的列中使用字符串类型,例如CHAR或者VARCHAR, 以下ESQL/C字符串类型可以使用:C语言的char类型 GBase8s ESQL/C预定义类型, fixchar, string, varchar lvarchar数据类型具体使用那种数据类型,参考以下条件:是否希望ESQL/C使用空字符来作为字符串的结束符。 是否希望使用空白字符填充。ESQL/C 字符串类型原创 2022-01-24 10:01:47 · 3138 阅读 · 0 评论 -
ESQLC数据类型 - 时间类型datetime和interval使用的宏
GBase8s ESQL/C 的datetime和interval使用的宏在decimal.h中还定义了一些与datetime和interval相关的宏。修饰符是一个2-字节的整数, 第一个字节高四位为起始字段,第一个字节的低四位时终止字段。第二个字节为长度。 宏的名称 描述 TU_YEAR 时间单位中的年修饰符 TU_MONTH 时间单位中的月修饰符 TU原创 2022-01-25 09:19:13 · 109 阅读 · 0 评论 -
ESQLC数据类型
GBase 8s ESQL/C中使用的数据类型:使用ESQL/C程序访问数据库中的列时,必须声明一个合适的宿主变量(host variable),可以是c语言或ESQL/C的数据类型,来接收数据。SQL与宿主变量的数据类型对应关系 SQL数据类型 ESQL/C预定义的数据类型 C语言类型 BIGINT BIGINT 8-byte integer BIGSERI原创 2022-01-25 09:20:27 · 197 阅读 · 0 评论 -
ESQLC数据类型 - 数值类型decimal
GBase8s ESQL/C 使用decimal数据类型来处理SQL DECIMAL和MONEY数据类型。decimal的数据结构:#define DECSIZE 16struct decimal{short dec_exp;short dec_pos;short dec_ndgts;char dec_dgts[DECSIZE];};typedef struct decimal dec_t;decimal.h头文件中定义了decimal结构体和de...原创 2022-01-24 10:07:56 · 552 阅读 · 0 评论 -
ESQLC数据类型 - 时间类型datetime和interval
GBase8s ESQL/C 的时间类型 SQL数据类型 ESQL/C数据类型 C typedef名称 示例 DATETIME datetime dtime_t EXEC SQL BEGIN DECLARE SECTION; datetime year to day sale; EXEC SQL END DECLARE SECTIO原创 2022-01-25 09:19:30 · 688 阅读 · 0 评论 -
ESQLC数据类型 - 转换发生的条件
GBase8s ESQL/C中的数据转换:当两个值的数据类型存在差异时, ESQL/C将进行数据类型转换。将值从一种数据类型转换为另一种数据类型的过程, 叫做数据类型转换。数据类型转换发生的条件:在进行数值比较时:当比较两个不同数据类型的数值时,例如比较CHAR类型的值与numeric类型的值, ESQL/C会将CHAR类型转换为numeric类型的值, 然后再进行比较。获取数据或者插入数据时:当获取或者插入的值类型与数据库中的列类型不一致时,会进行数据类型的转换。...原创 2022-01-25 09:20:52 · 78 阅读 · 0 评论 -
ESQLC数据类型 - 数值类型整型
GBase8s ESQL/C支持下列数值类型整型: SMALLINT,INTEGER,INT8,SERIAL,SERIAL8 Boolean类型 DECIMAL和MONEY类型 浮点类型: SMALLFLOAT,FLOAT整型 SQL整型 字节数量 数值范围 SMALLINT 2 -32767 到 32767 INTETGER,INT, SERIAL原创 2022-01-24 10:14:04 · 103 阅读 · 0 评论 -
ESQLC数据类型 - 时间类型date
GBase8s ESQL/C的date类型GBase8s ESQL/C 使用ESQL/C的date数据类型支持数据库端的SQL DATE数据类型。date类型使用4-字节整型实现,其值为1899年12月31日以来的整型值。负数为1899年12月31日之前的值, 正数为之后的值。格式化日期字符串 格式 说明 dd 两位数字的日期01-31 ddd 一星期中的日期(星期日-星期原创 2022-01-25 09:18:59 · 363 阅读 · 0 评论 -
ESQLC数据类型 - 获取或插入CHAR类型
使用GBase8s ESQL/C获取或插入CHAR类型当应用程序使用字符串类型的变量获取或插入CHAR值的时候,ESQL/C会确保字符串的值适合变量或者数据库的列。获取CHAR类型数据应用程序能够从数据库的CHAR或者VARCHAR数据列中获取数据,保存到字符串类型的变量中,例如(char, string, fixchar, varchar等)。如果数据库的列长度打与字符串变量, ESQL/C将会截取数据,以保证没有数据溢出。同时设定警告信息:设定sqlca.sqlwarn.sqlw原创 2022-01-25 09:19:39 · 422 阅读 · 0 评论 -
ESQLC数据类型 - varchar类型
GBase8s ESQL/C字符串数据类型GBase8s ESQL/C支持5种字符串数据类型, 如果在数据库的列中使用字符串类型,例如CHAR或者VARCHAR, 以下ESQL/C字符串类型可以使用:C语言的char类型 GBase8s ESQL/C预定义类型, fixchar, string, varchar lvarchar数据类型具体使用那种数据类型,参考以下条件:是否希望ESQL/C使用空字符来作为字符串的结束符。 是否希望使用空白字符填充。ESQL/C 字符串类型原创 2022-01-24 10:06:47 · 420 阅读 · 0 评论 -
ESQL的预编译功能-e参数
GBase 8s esql命令:GBase8s提供的编译工具, 用来编译ESQL/C程序。esql命令将ESQL/C源程序作为参数,传递到GBase8s ESQL/C预编译器,经过预编译后,再传递到C语言编译器。GBase 8s ESQL/C预编译器:ESQL/C预编译器用来编译包含GBase8s ESQL/C语句, 通过运行esql命令,使用预编译器处理扩展名为ec的源文件,创建可执行程序。esql命令的 -e 参数:-e 参数: 只进行预编译, 仅将ec文件转换为c文件,原创 2022-01-26 09:14:40 · 894 阅读 · 1 评论 -
ESQLC数据类型 - char和fixchar类型
GBase8s ESQL/C字符串数据类型GBase8s ESQL/C支持5种字符串数据类型, 如果在数据库的列中使用字符串类型,例如CHAR或者VARCHAR, 以下ESQL/C字符串类型可以使用:C语言的char类型 GBase8s ESQL/C预定义类型, fixchar, string, varchar lvarchar数据类型具体使用那种数据类型,参考以下条件:是否希望ESQL/C使用空字符来作为字符串的结束符。 是否希望使用空白字符填充。ESQL/C 字符串类型原创 2022-01-24 09:50:24 · 394 阅读 · 0 评论 -
GBase 8s 正则表达式
GBase 8s中使用 REGEXP_LIKE 操作符来进行正则表达式匹配。GBase 8s的正则表达式匹配与PHP、Perl这些脚本的类似。下表中的正则模式可应用于 REGEXP_LIKE 操作符中。^ 匹配输入字符串的开始位置。$ 匹配输入字符串的结束位置。. 匹配除 “\n” 之外的任何单个字符。[…] 字符集合。匹配所包含的任意一个字符。[^…] 负值字符集合。匹配未包含的任意字符。p1|p2|p3 匹配 p1 或 p2 或 p3。* 匹配前面的子表达式零次或多.原创 2022-02-23 14:15:20 · 738 阅读 · 0 评论 -
GBASE 8s关系数据库完整性约束简介
关系模型的完整性约束(Integrity Constraints)是指对关系表中数据的某种约束规则,它们的存在保证了关系数据的正确性、有效性和一致性。随着时间的推移,关系数据可以发生变化(添加、删除、修改),但不能破坏其满足的完整性约束条件。关系的完整性约束也是反映现实世界中数据正确语义的要求。关系模型定义了三类完整性约束:实体完整性、参照完整性和用户定义完整性。实体完整性和参照完整性是关系模式固有的完整性约束,它们一般由关系数据库自动维护,被称作关系的两个不变性(Invarianc原创 2022-02-24 09:29:42 · 203 阅读 · 0 评论 -
GBASE 8s Light Scan简介
Light Scan 翻译为中文是“轻度扫描”, Light Scan 是一种可绕过缓冲池开销的大型数据表的顺序扫描方式,数据库服务器会为 light scan 查询单独在虚拟度开辟一个单独的内存区域。Light Scan 是用于执行大型数据表顺序扫描的最快方法。在以下 4 个条件下会自动使用 light scan。1. 优化器选择对表的顺序扫描。2. 表中的页数大于缓冲池中的缓冲区数。3. 表的字段类型包含:varchar、lvarchar4. 使用的隔离级在表上不获取任何锁或原创 2022-02-23 14:20:08 · 207 阅读 · 0 评论 -
GBASE 8s 逻辑日志是什么
为了保留自上次存储空间备份以来的事务和数据服务器更改的历史记录,数据库服务器生成日志记录。数据库服务器日志存储在逻辑日志中,这是由三个或者更多逻辑日志文件组成的循环文件。将改日志称为逻辑是因为日志记录代表数据库服务器的逻辑操作(而不是物理操作),存储空间备份加上逻辑日志备份的组合在任何时候均包含数据库服务器数据的副本。...原创 2022-02-24 09:31:05 · 104 阅读 · 0 评论 -
GBASE 8s Light Append简介
Light Append 从字面上理解为轻量的追加。Light append 是一种可绕过缓冲池开销的大数据量的以块的方式快速追加到表中的方式。如图 9.15 所示,当发生 light append 时,与light scan 类似,不会使用 buffer pool 作为数据缓存,而会在虚拟内存段分片独立的内存区域。同时,从图 9.15 可以看出,light append 以一种成块的方式追加到表的尾部(高水位),即使表的前部存在可用的空间以供使用,light append 会忽略高水位之前原创 2022-02-23 14:19:22 · 112 阅读 · 0 评论 -
GBase 8s 临时表
GBase 8s 支持创建临时表,临时表具有仅当期客户端可见,客户端断开即删除的特性,且不同的客户端可创建相同名字但内容不同的临时表。临时表的数据储存在临时存储区域,退出即删除。下面介绍临时表的创建语法:CREATE TEMP TABLE <table_name> <column_options>语法示例:CREATE TEMP TABLE t1(a int,b int);临时表的索引也储存在临时存储区域,退出即删除。...原创 2022-03-28 11:14:09 · 874 阅读 · 0 评论 -
GBase 8s SQL语言特点
GBase 8s SQL 以统一的方式管理和操作关系数据,是标准 SQL 语言的扩充,具有标准 SQL 语言的一切特点。1.功能全面一个数据库系统的全部功能都应该通过某种数据语言来实现。实际上,管理数据库系统就是管理其中存储的数据和元数据。具体任务包括:定义数据模式、查询数据、更新数据(即增加、删除、修改操作)、控制数据的访问权限、维护元数据等。在 GBase 8s 中,全部的这些功能都可以使用 SQL 完成。功能包括数据定义、数据查询、数据操纵和数据控制等。其 S...原创 2022-03-24 14:58:18 · 132 阅读 · 0 评论 -
GBASE 8s 中SQL 的组成
GBase 8s 的SQL 核心功能由以下4 个部分组成(1)数据定义语言(Data Definition Language,DDL),用于定义表、视图、索引等数据库对象。数据定义语言还可以修改或删除数据库对象的定义。(2)数据查询语言(Data Query Language,DQL),用于根据指定条件查询数据。由于查询操作是用户最经常使用的功能,因此数据查询语言是SQL 最重要的组成部分。(3)数据操纵语言(Data Manipulation Language,DML),用于更新指定的数据,包原创 2022-03-28 13:54:39 · 158 阅读 · 0 评论 -
GBase 8s savepoint
GBase 8s 在事务中支持(savepoint)保存点,可以在事务中实现类似于快照的功能。可以使用rollback语句,将事务返回至该保存点的状态。保存点的使用方法以及效果如下:> create database t1_savepoint with log;Database closed.Database created.> database t1_savepoint;Database closed.Database selected....原创 2022-03-28 11:16:46 · 838 阅读 · 0 评论 -
GBASE 8s 索引的基本概念
索引是用来快速查询表记录的一种存储结构。一般使用索引有以下两个方面。确定记录的唯一性通过创建唯一性索引(unique index)来保证表中记录的唯一性要求。提高数据查询的性能提高表记录的查询性能是索引存在的最大优点。在没有索引的情况下,数据库优化器需要采用顺序扫描的方式扫描全表来查找目标记录。具体做法是,读取所有属于该表的数据页,从表的第一个数据页开始,如顺序访问所有包含该表数据页的设备,直到最后一页为止,返回满足条件的所...原创 2022-03-25 17:17:01 · 319 阅读 · 0 评论 -
GBase 8s存储管理
虽然GBase 8s系统提供了数据的高层视图,但最终数据必须以比特的形式存储在一个或多个存储设备上。如今绝大多数的数据库将数据存储在磁盘上,并将数据装载到内存中进行处理,或者将数据复制到磁带等备份设备上用于存档。因此,数据的存储管理是8s系统的重要组成部分,属于较低层的问题。1.物理存储介质主要的物理存储介质包括:高速缓冲存储器、主存储器、快闪存储器、磁盘存储器、光盘、磁带等。最快的存储介质(例如高速缓冲存储器和主存储器)被称为基本存储。基本存储介质的下一层介质(例如...原创 2022-03-24 15:01:25 · 304 阅读 · 0 评论 -
GBase 8s 事务管理
GBase 8s数据库的某些操作的集合可看作一个整体,在这些操作的执行过程中,不受其他操作的影响,这样的一个操作的集合就是事务。事务(Transaction)是对数据库进行操作的集合。该集合是一个不可分割的具有逻辑功能的工作单元,集合中的操作在事务的一次执行中必须全部被执行或者全部不被执行。事务将每个用户对数据库的操作组合为一个具有逻辑功能的操作集合。为了保证数据库中的数据一致性,避免并发事务之间互相影响而产生数据错误,事务具有如下四个特点。1.原子性(Atomici...原创 2022-03-24 15:03:12 · 932 阅读 · 0 评论 -
Gbase 8s内置函数之窗口函数
Gbase 8s的内置函数包含标量函数、聚合函数、窗口函数以及其他的函数。本次介绍窗口函数及其使用例句:ROW_NUMBER/ROWNUMBERselect row_number() over(partition by f_deptid order by f_salary desc) as f_order, f_deptname, f_employeename, f_salary from (select a.f_employeeid, a.f_deptid, b.f_deptname,原创 2022-01-19 14:10:21 · 864 阅读 · 0 评论 -
Gbase 8s内置函数之聚合函数
Gbase 8s的内置函数包含标量函数、聚合函数、窗口函数以及其他的函数。本次介绍聚合函数及其使用例句:COUNTselect a.f_deptid, b.f_deptname, count(1) as f_cnt from t_employee a, t_dept b where a.f_deptid = b.f_deptid group by a.f_deptid, b.f_deptname order by a.f_deptid;SUMselect a.f_deptid, b.原创 2022-01-20 23:53:41 · 501 阅读 · 0 评论 -
Gbase 8s内置函数之日期函数
Gbase 8s的内置函数包含标量函数、聚合函数、窗口函数以及其他的函数。其中标量函数又包含数学函数、字符串函数、日期函数。本次介绍日期函数及其使用例句:SYSDATE/CURRENT/TODAYselect sysdate as f_date from dual;select current as f_date from dual;select today as f_today from dual;LAST_DAYselect last_day(date('02/18/20原创 2022-01-20 23:51:36 · 1859 阅读 · 0 评论 -
Gbase 8s内置函数之其它函数
Gbase 8s的内置函数包含标量函数、聚合函数、窗口函数以及其他的函数。本次介绍其它函数及其使用例句:DBINFOselect dbinfo('dbhostname') as f_hostname from dual;NVL2select f_username, f_leavedate, nvl2(f_leavedate, '离职', '在职') as f_userstatusfrom(select 'Tom' as f_username, '2020-06-18' as f_原创 2022-01-21 11:01:50 · 362 阅读 · 0 评论 -
ESQLC数据类型 - 数值类型int8相关的库函数
GBase8s ESQL/C int8数据类型相关的库函数对于int8数据类型,必须使用GBase8s ESQL/C针对int8的库函数。int8类型数据的操作: 函数名 描述 ifx_getserial8() 返回插入的SERIAL8值。 ifx_int8add() 将两个int8的数值相加。 ifx_int8cmp() 比较两个int8原创 2022-01-24 10:12:34 · 367 阅读 · 0 评论 -
Gbase 8s内置函数之数学函数
Gbase 8s的内置函数包含标量函数、聚合函数、窗口函数以及其他的函数。其中标量函数又包含数学函数、字符串函数、日期函数。本次介绍数学函数及其使用例句:ABSselect abs(-5.6) as num1, abs(5.6) as num2 from dual;CEIL/FLOOR/ ROUNDselect ceil(5.6) as f_ceil, floor(5.6)as f_floor, round(5.6) as f_round from dual;MOD.原创 2022-01-20 23:50:58 · 214 阅读 · 0 评论 -
Gbase 8s内置函数之字符串函数
Gbase 8s的内置函数包含标量函数、聚合函数、窗口函数以及其他的函数。其中标量函数又包含数学函数、字符串函数、日期函数。本次介绍字符串函数及其使用例句:CONCATselect concat('Hello', 'World') as f_concat from dual;TRIM/LTRIM/RTRIMselect f_message,octet_length(f_message) as f_len1, octet_length(trim(f_mess...原创 2022-01-20 23:52:50 · 990 阅读 · 0 评论 -
GBase 8s 时间/日期函数和操作符
日期/时间操做符下表演示了基本算术操作符的行为(+,-,*,/等): 类型1 操作符 类型2 返回类型 DATE - DATE INTERVAL DAY TO DAY DATE - DATETIME INTERVAL DAY TO DAY原创 2022-02-23 14:14:37 · 395 阅读 · 0 评论