SQLite中sqlite3_column_value()的返回值
sqlite3_column_value()的返回对象是一个 unprotected sqlite3_value 对象.一个不受保护的sqlite3_value object可能只能用于 sqlite3_bind_value() 和sqlite3_result_value().如果一个unprotected sqlite3_value 对象( sqlite3_column_value()函数的返回值) 被用在其他地方,包括调用如 sqlite3_value_int(), sqlite3_value_text(), 或sqlite3_value_bytes()之类的函数,它的行为是不可预测的。
这些函数尝试把值转化成正确的类型。比如说,对储存在数据库中,值类型为FLOAT的字段,通过但是作为text类型被select出来。sqlite3_snprintf()将自动转换这个数值。下表详细地说明了转化过程。
| 内部类型(Internal Type) | 请求类型 (Requested Type) | 转化(Conversion) |
| NULL | INTEGER | 值为 0 |
| NULL | FLOAT | 值为 0.0 |
| NULL | TEXT | 值为 NULL指针 |
| NULL | BLOB | 值为 NULL指针 |
| INTEGER | FLOAT | 从integer 转化为float |
| INTEGER | TEXT | 从 integer渲染成ASCII |
| INTEGER | BLOB | 跟 INTEGER->TEXT转换过程一样 |
| FLOAT | INTEGER | 从float 转化为integer |
| FLOAT | TEXT | 从 FLOAT渲染成ASCII |
| FLOAT | BLOB | 跟FLOAT->TEXT转换过程一样 |
| TEXT | INTEGER | 使用 atoi() |
| TEXT | FLOAT | 使用 atof() |
| TEXT | BLOB | 不做改变 |
| BLOB | INTEGER | 转化为TEXT 然后使用 atoi() |
| BLOB | FLOAT | 转化为TEXT 然后使用 atof() |
| BLOB | TEXT | 如果需要的话,添加0作为终结符 |
上表引用C函数库的atoi() 和atof()。实际上,SQLite不会使用这些函数,SQLite有自己跟这些函数等价的转换函数。使用atoi() 和atof()是为了让上表更简短,因为大部分的C程序员对他们都很熟悉。
SQLite中sqlite3_column_value()的返回值的更多相关文章
- javascript中的函数返回值(return)
有些情况,我们希望获取到函数的执行结果,也就是我们需要在函数以外的地方处理执行结果,而不是在函数内部处理.这时我们就需要为函数设一个返回值,也就是return,即函数执行完毕以后返回的结果. 若在函数 ...
- MyBatis中Mapper的返回值类型
insert.update.delete语句的返回值类型 对数据库执行修改操作时,数据库会返回受影响的行数. 在MyBatis(使用版本3.4.6,早期版本不支持)中insert.update.del ...
- C++中函数的返回值
原文 [ 函数的返回值用于初始化在调用函数处创建的临时对象.在求解表达式时,如果需要一个地方储存其运算结果,编译器会创建一个没有命名的对象,这就是 临时对象.temporary object ] -- ...
- loadrunner脚本中参数化和返回值输出log到外部文件
loadrunner脚本中参数化和返回值输出log到外部文件 很多时候,我们在做性能测试之前,需要造数据,但是使用的这些参数化数据和生成的返回数据在后面的测试都会用的,所以我们需要在造数据过程中,将参 ...
- ResultMap和ResultType在使用中的区别、MyBatis中Mapper的返回值类型
在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解 resultType:当使 ...
- jQuery中ajax如何返回值到上层函数
jQuery中ajax如何返回值到上层函数 一.总结 一句话总结: ajax的同步操作即可,设置 async: false, 二.jquery的同步操作 var can_submit=true; $. ...
- 1.2Web API 2中的Action返回值
本主题描述 ASP.NET Web API 将返回值转换从一个控制器动作到 HTTP 响应消息. 一个 Web API 控制器动作可以返回下列任一操作 ︰ 1.void 2.IHttpActionRe ...
- C++中函数中没写返回值会怎么样?
先看这一段代码: /* P125 清单7.15 使用迭代求第N个Fibonacci数 */ #include <iostream> int fib(int position); int m ...
- ThinkPHP中数据库操作返回值总结
转自:http://www.baiwar.com/post/thinkphp-database-operations-in-the-return-value.html Thinkphp中的Think\ ...
随机推荐
- UI设计教程分享:让你彻底读懂字体
一份普普通通.规规矩矩的设计 一份让人印象深刻.新颖有趣的设计 差在哪?其实就差在三个字上! “优秀的设计不是每一个细节都有亮点,而是弱化其他元素,让某一个亮点最大化.” 今天“骉叔的设计心得”就来总 ...
- CURLOPT_RETURNTRANSFER
curl_setopt($ch,CURLOPT_RETURNTRANSFER,);//设置返回值不直接输出,例如返回xml格式,会将xml原样输出
- YII配置mysql读写分离
Mysql 读写分离 YIi 配置 <?php return [ 'class' => 'yii\db\Connection', 'masterConfig' => [ // 'ds ...
- php实现MySQL两库对比升级版
define('DATABASE1', 'db1'); $dbi1 = new DbMysql; $dbi1->dbh = 'mysql://root:password@127.0.0.1/'. ...
- 用php把access数据库导入到mysql
<?php header("content-Type: text/html; charset=utf-8"); /// ///把access数据库转换成mysql的SQL语句 ...
- linux中命令突然不能用
先用:echo $PATH 发现path丢失:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 于是用临时环境变量 export ...
- rails 表单中默认值
在表单中加入默认提示值,如(email@email.com): <div class="field"> <%= form.label :email,"E ...
- spring boot 实现mybatis拦截器
spring boot 实现mybatis拦截器 项目是个报表系统,服务端是简单的Java web架构,直接在请求参数里面加了个query id参数,就是mybatis mapper的query id ...
- zookeeper 单机集成部署
概述 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等,是很多分布式的基础设置,比如dubbo,k ...
- (14)Why some people find exercise harder than others
https://www.ted.com/talks/emily_balcetis_why_some_people_find_exercise_harder_than_others/transcript ...