ESQLC数据类型 - 获取或插入数据时的转换

GBase 8s ESQL/C的数据转换:

当从数据库的列中获取数据时, 如果接受数据的变量类型,与数据库中列类型相比, 不是ESQL/C定义的不需要转换的类型, ESQL/C将会进行数据类型的转换。插入数据时,也会进行类似的处理。只有在必要时, ESQL/C才进行数据类型的转换。

  1. 在numeric类型和字符串类型间转换

在ESQL/C在进行数据转换之前,必须确认转换时有意义的。

下面的表格列出了在numeric类型与字符串类型之间可能的转换, 在下面的表格中,N代表 numeric数据类型,例如DECIMAL,FLOAT,或者SMALLINT,C代表字符串数据类型,例如CHAR, VARCHAR.

如果不可能进行转换, 或者是因为没有意义,或者是因为目标变量的值范围太小,不能够接收转换后的值。

转换方式

问题

结果

C C

长度不适合

ESQL/C会截取字符串,设定警告信息,并且设定原始字符串的长度。

N C

可以

ESQL/C为numeric类型创建字符串,使用指数形式来表现过大或过小的数值。

N C

长度不合适

ESQL/C使用多个“*”填充字符串,设定警告信息。

如果是小数部分超长,会进行舍入。如果整数部分超长,以“*”填充。

C N

可以

ESQL/C根据字符串的格式确定numeric的数据类型,如果字符串包含小数点,ESQL/C将其转换为decimal类型。

C N

不是数据类型

数值为未定义,ESQL/C设定出错信息。

C N

溢出

数值为未定义,ESQL/C设定出错信息。

N N

长度不合适

ESQL/C将数值转换为新的类型,如果发生错误,设定出错信息

N N

溢出

数值为未定义,ESQL/C设定出错信息。

  1. 将浮点类型的数字转换成字符串

   ESQL/C自动将浮点类型值(DECIMAL(n), FLOAT, SMALLFOAT)在数据库列和字符类型(char,varchar, string,fixchar)之间进行转换。当将浮点类型值向字符串转换时,如果字符串的buffer不是足够大,ESQL/C将对浮点类型进行舍入,之后在进行转换。

  1. 将BOOLEAN类型转换为字符串

数据库服务器自动将将BOOLEAN类型的值在数据库列和fixchar类型之间转换。

‘\01’<=> ‘T’

‘\00’<=> ‘F’

  1. 转换DATETIME和INTERVAL值

数据库服务器自动将将DATETIME和INTERVAL类型的值在数据库列和字符串类型,例如(char,string,fixchar)类型之间转换。

可以调用ESQL/C库函数转换DATE和DATETIME类型的值。

  1. 在VARCHAR和字符数据之间进行转换

数据库服务器自动将将VARCHAR类型的值在数据库列和char, string,fixchar类型之间转换。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
一、 ESQL/C资料(完全版)一 第一节 什么是嵌入SQL语言?3 1.1 嵌入SQL程序的组成元素3 1.2 什么是静态SQL和动态SQL?4 1.3 什么是SQLCA?4 1.4 什么是SQLDA?5 第二节 SYBASE SQL SERVER嵌入式SQL语言5 2.1 一个嵌入SQL语言的简单例子5 2.2 嵌入SQL的处理过程6 2.3 嵌入SQL语句总览7 2.3.1 宿主变量7 2.3.2 连接数据库12 2.3.3 数据的查询和修改13 2.3.4 游标的使用13 2.3.5 SQLCA15 2.3.6 WHENEVER16 2.3.7 批处理18 2.3.8 事务18 2.4动态SQL语句18 2.4 .1 动态修改19 2.4.2 动态游标20 2.4.3 SQLDA23 2.4.4 DESCRIBE语句27 2.5 两个例子程序27 2.5.1 TELECOM程序27 2.5.2 ADHOC程序29 第三节 IBM DB2嵌入SQL语言35 3.1 一个简单示例35 3.2 嵌入SQL语句37 3.2.1宿主变量37 3.2.2单行查询39 3.2.3多行查询39 3.2.4插入、删除和修改操作40 3.2.5 SQLCA43 3.2.6事务45 3.3 DB2的嵌入SQL程序处理过程46 3.4 DB2的动态SQL嵌入语句53 3.4.1 基本方法53 3.4.2 动态游标55 3.4.3 SQLDA55 第四节 ORACLE数据库的嵌入SQL语言66 4.1 基本的SQL语句66 4.1.1宿主变量和指示符66 4.1.2 查询68 4.1.3 修改数据68 4.1.4 游标68 4.2 嵌入PL/SQL71 4.3 动态SQL语句72 4.3.1 ORACLE动态SQL语句的一些特点72 4.3.2 使用动态SQL的四种方法72 4.3.3 SQLDA75 第五节INFORMIX的嵌入SQL/C语言89 5.1 一个简单的入门例子89 5.2 宿主变量91 5.3 嵌入SQL的处理过程96 5.4 动态SQL语言96 5.4.1 SQLDA97 第六节MICROSOFT SQL SERVER7嵌入式SQL语言105 6.1 一个嵌入SQL语言的简单例子105 6.2 嵌入SQL的处理过程106 6.3 嵌入SQL语句112 6.3.1 声明嵌入SQL语句中使用的C变量112 6.3.2 连接数据库115 6.3.3 数据的查询和修改115 6.3.4 游标的使用116 6.3.5 SQLCA117 6.3.6 WHENEVER118 6.4动态SQL语句119 6.4 .1 动态修改119 6.4.2 动态游标120 6.4.3 SQLDA122 6.4.4 DESCRIBE语句130 6.5 API130 第六章 嵌入式SQL(E-SQL)简介
这是我自己学习ESQLC的资料,里面有我划的重点。希望对大家有用。 ESQL/C资料(完全版) 1 1.1 第一节 什么是嵌入SQL语言? 3 1.1.1 嵌入SQL程序的组成元素 3 1.1.2 什么是静态SQL和动态SQL? 5 1.1.3 什么是SQLCA? 5 1.1.4 什么是SQLDA? 5 1.2 第二节 SYBASE SQL Server嵌入式SQL语言 5 1.2.1 一个嵌入SQL语言的简单例子 5 1.2.2 嵌入SQL的处理过程 7 1.2.3 嵌入SQL语句总览 7 1.2.3.1 宿主变量 8 1.2.3.2 连接数据库 13 1.2.3.3 数据的查询和修改 14 1.2.3.4 游标的使用 15 1.2.3.5 SQLCA 17 1.2.3.6 WHENEVER 18 1.2.3.7 批处理 19 1.2.3.8 事务 20 1.2.4 动态SQL语句 20 1.2.4.1 动态修改 21 1.2.4.2 动态游标 22 1.2.4.3 SQLDA 26 1.2.4.4 DESCRIBE语句 30 1.2.5 两个例子程序 30 1.2.5.1 TELECOM程序 30 1.2.5.2 ADHOC程序 33 1.3 第三节 IBM DB2嵌入SQL语言 42 1.3.1 一个简单示例 42 1.3.2 嵌入SQL语句 45 1.3.2.1 宿主变量 45 1.3.2.2 单行查询 47 1.3.2.3 多行查询 47 1.3.2.4 插入、删除和修改操作 49 1.3.2.5 SQLCA 54 1.3.2.6 事务 56 1.3.3 DB2的嵌入SQL程序处理过程 57 1.3.4 DB2的动态SQL嵌入语句 62 1.3.4.1 基本方法 62 1.3.4.2 动态游标 66 1.3.4.3 SQLDA 66 1.4 第四节 ORACLE数据库的嵌入SQL语言 82 1.4.1 基本的SQL语句 82 1.4.1.1 宿主变量和指示符 82 1.4.1.2 查询 83 1.4.1.3 修改数据 83 1.4.1.4 游标 84 1.4.2 嵌入PL/SQL 87 1.4.3 动态SQL语句 88 1.4.3.1 ORACLE动态SQL语句的一些特点 88 1.4.3.2 使用动态SQL的四种方法 88 1.4.3.3 SQLDA 91 1.5 第五节INFORMIX的嵌入SQL/C语言 107 1.5.1 一个简单的入门例子 107 1.5.2 宿主变量 109 1.5.3 嵌入SQL的处理过程 114 1.5.4 动态SQL语言 115 1.5.4.1 SQLDA 116 1.6 第六节Microsoft SQL Server7嵌入式SQL语言 127 1.6.1 一个嵌入SQL语言的简单例子 127 1.6.2 嵌入SQL的处理过程 128 1.6.3 嵌入SQL语句 132 1.6.4 动态SQL语句 140 1.6.5 API 151 二、 ESQL编程使用说明 152 2.1 第一章 ESQL介绍 152 2.1.1 ESQL中的基本概念 153 2.1.2 ESQL程序的组成和运行 153 2.2 第二章 ESQL 程序的基本结构 154 2.2.1 程序首部 154 2.2.2 程序体 155 2.3 第三章 查 询 159 2.3.1 SELECT 语句 159 2.3.2 游标的使用 161 2.3.3 定位修改和删除语句 163 2.4 第四章 提交/回滚事务 166 2.4.1 逻辑工作单元 166 2.4.2 COMMIT 语句 167 2.4.3 ROLLBACK语 句 167 2.4.4 DISCONNECT 语句 167 2.5 第五章 错误检测和恢复 167 2.5.1 USERCA的结构 168 2.6 第六章 使用说明书 169 2.6.1 启动Cobase: 169 2.6.2 退出Cobase: 169 2.6.3 交互式SQL(Interactive SQL)访问 170 2.6.4 嵌入式SQL(Enbeded SQL)编程方式 170 2.6.5 补充说明 171

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

八珍豆腐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值