Sqlite3支持的数据类型 :NULL、INTEGER、REAL、TEXT、BLOB
但实际上,sqlite3也接受如下的数据类型:
smallint 16 位元的整数。
interger 32 位元的整数。
decimal(p,s) p 精确值和 s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数点後有几位数。如果没有特别指定,则系统会设为 p=5; s=0 。
float 32位元的实数。
double 64位元的实数。
char(n) n 长度的字串,n不能超过 254。
varchar(n) 长度不固定且其最大长度为 n 的字串,n不能超过 4000。
graphic(n) 和 char(n) 一样,不过其单位是两个字元 double-bytes, n不能超过127。这个形态是为了支援两个字元长度的字体,例如中文字。
vargraphic(n) 可变长度且其最大长度为 n 的双字元字串,n不能超过 2000
date 包含了 年份、月份、日期。
time 包含了 小时、分钟、秒。
timestamp 包含了 年、月、日、时、分、秒、千分之一秒。
SQLite包含了如下时间/日期函数:
datetime().......................产生日期和时间
date()...........................产生日期
time()...........................产生时间
strftime().......................对以上三个函数产生的日期和时间进行格式化
datetime()的用法是:datetime(日期/时间,修正符,修正符...)
date()和time()的语法与datetime()相同。
在时间/日期函数里可以使用如下格式的字符串作为参数:
YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
其中now是产生现在的时间。
举例(写这个笔记的时间是2006年10月17日晚8点到10点,测试环境:SQLite 2.8.17,WinXP,北京时间):
例1.select datetime('now');
结果:2006-10-17 12:55:54
例2.select datetime('2006-10-17');
结果:2006-10-17 12:00:00
例3.select datetime('2006-10-17 00:20:00','+1 hour','-12 minute');
结果:2006-10-17 01:08:00
例4.select date('2006-10-17','+1 day','+1 year');
结果:2007-10-18
例5.select datetime('now','start of year');
结果:2006-01-01 00:00:00
例6.select datetime('now','start of month');
结果:2006-10-01 00:00:00
例7.select datetime('now','start of day');
结果:2006-10-17 00:00:00
例8.select datetime('now','+10 hour','start of day','+10 hour');
结果:2006-10-17 10:00:00
例9.select datetime('now','localtime');
结果:2006-10-17 21:21:47
例10.select datetime('now','+8 hour');
结果:2006-10-17 21:24:45
例3中的+1 hour和-12 minute表示可以在基本时间上(datetime函数的第一个参数)增加或减少一定时间。
例5中的start of year表示一年开始的时间。
从例8可以看出,尽管第2个参数加上了10个小时,但是却被第3个参数“start of day”把时间归零到00:00:00,随后的第4个参数在00:00:00
的基础上把时间增加了10个小时变成了10:00:00。
例9把格林威治时区转换成本地时区。
例10把格林威治时区转换成东八区。
strftime()函数可以把YYYY-MM-DD HH:MM:SS格式的日期字符串转换成其它形式的字符串。
strftime()的语法是strftime(格式, 日期/时间, 修正符, 修正符, ...)
它可以用以下的符号对日期和时间进行格式化:
%d 月份, 01-31
%f 小数形式的秒,SS.SSS
%H 小时, 00-23
%j 算出某一天是该年的第几天,001-366
%m 月份,00-12
%M 分钟, 00-59
%s 从1970年1月1日到现在的秒数
%S 秒, 00-59
%w 星期, 0-6 (0是星期天)
%W 算出某一天属于该年的第几周, 01-53
%Y 年, YYYY
%% 百分号
strftime()的用法举例如下:
例11.select strftime('%Y.%m.%d %H:%M:%S','now','localtime');
结果:2006.10.17 21:41:09
sqlite函数篇:
算术函数
abs(X) 返回给定数字表达式的绝对值。
max(X,Y[,...]) 返回表达式的最大值。
min(X,Y[,...]) 返回表达式的最小值。
random(*) 返回随机数。
round(X[,Y]) 返回数字表达式并四舍五入为指定的长度或精度。
字符处理函数
length(X) 返回给定字符串表达式的字符个数。
lower(X) 将大写字符数据转换为小写字符数据后返回字符表达式。
upper(X) 返回将小写字符数据转换为大写的字符表达式。
substr(X,Y,Z) 返回表达式的一部分。
randstr()
quote(A)
like(A,B) 确定给定的字符串是否与指定的模式匹配。
glob(A,B)
条件判断函数
coalesce(X,Y[,...])
ifnull(X,Y)
nullif(X,Y)
集合函数
avg(X) 返回组中值的平均值。
count(X) 返回组中项目的数量。
max(X) 返回组中值的最大值。
min(X) 返回组中值的最小值。
sum(X) 返回表达式中所有值的和。
其他函数
typeof(X) 返回数据的类型。
last_insert_rowid() 返回最后插入的数据的ID。
sqlite_version(*) 返回SQLite的版本。
change_count() 返回受上一语句影响的行数。
last_statement_change_count()
- 浏览: 144799 次
文章分类
- 全部博客 (205)
- AOSE-计算机网络 (5)
- AOSE-数据库 (2)
- AOSE-UML建模 (10)
- AOSE-软件测试 (2)
- AOSE-个人学习和总结 (1)
- java (8)
- java-功能 (10)
- java-数据 (1)
- java-设计模式 (3)
- java-javaweb-软件架构 (14)
- java-javaweb-消息服务 (7)
- java-javaweb-权限控制 (5)
- java-javaweb-spring (9)
- java-javaweb-hibernate (1)
- java-javaweb-freemarker (1)
- java-javaweb-DWR (1)
- java-javaweb-compass (1)
- java-javaweb-jbpm (4)
- java-android-开发框架 (1)
- java-android (49)
- java-android-性能优化 (5)
- java-android-webRTC (4)
- hadoop (15)
- javascript (4)
- javascript组件 (1)
- javascript-JQuery组件 (5)
- html5 (4)
- other-杂文 (5)
- other-常用 (2)
- other-开源软件 (3)
- other-计算机新型技术 (1)
- Ubuntu (5)
- java-项目管理 (2)
- java-web (1)
- OpenGL (7)
- VC (3)
- java-javaweb-activiti (1)
- 算法 (2)
- 操作系统 (1)
- java-opencv (1)
最新评论
发表评论
-
实现APP换肤功能
2017-05-13 21:52 4321.用自己的Layout实现layout监听 ... -
android内存泄露
2017-05-11 22:08 304原理: 1、找到引用的实例个数,主要是找activity ... -
android双进程守护
2017-05-10 22:44 405双进程守护 一个应用,拥有两个进程 Remote ... -
【转】数据短信
2016-01-22 21:49 481Objective Use SMS to send and ... -
ListView item聚焦修改子布局所有的背景
2016-01-05 16:05 1使用 android:state_activated ... -
【转】Android滑屏与子控件点击事件处理
2015-12-26 23:50 748转自:http://blog.csdn.net/tomato ... -
【转】Android 分析内存的使用情况
2015-12-12 23:08 457转载请注明出处:http://blog.csdn.net/ ... -
关于Activity与SurfaceView的生命周期
2015-12-11 11:28 2599程序运行->按HOME键 Activity调用的顺序是o ... -
Android NDK 调试
2015-11-04 15:03 395该文只适用于ANDROID-NDK-R8 & EC ... -
基类处理
2015-10-25 21:57 3511、安全退出已调用多个Activity的Applicatio ... -
【转】android rom移植知识普及
2014-11-25 11:34 565最近接到很多兄弟们的求助,也回答过无数个和下面这个问题类似 ... -
【转】模拟器中运行编译好的Android
2014-09-08 12:00 899编译SDK 编译SDK可以得到与源码同步的SDK,还 ... -
【转】android自带的软件或者服务
2014-09-08 10:31 445Android手机系统中 默认会自带很多无用程序,这些应用, ... -
【转】使用DownloadProvider来完成下载任务
2014-09-08 10:23 714在同事在做一个自动更新的任务,也做得差不多,这里面有一 ... -
【转】Ubuntu12.04编译异常及解决办法
2014-09-04 09:16 1208Ubuntu12.04编译异常及解决办法 一、 ... -
android源代码编译注意事项
2014-08-29 12:12 444注意事项: 一、必须要用jdk6,当初自己就是用的jdk ... -
【转】adb shell dumpsys
2014-08-10 08:47 990adb shell dumpsys dumpsys ... -
android源代码下载
2014-08-06 23:17 879由于国外的网站被墙,这里所有提供的只是国内的下载方式 ... -
eclipse NDK环境搭建
2014-08-02 11:23 439一、下载NDK编译工具 该工具太大,这里上传 ... -
【转】NDK编译.so动态库
2014-08-01 10:31 504...
相关推荐
Android的SQLite中DateTime类型数据的存取问题
使用SQLite时,继承SQLiteOpenHelper, onCreate方法只有在第一次创建数据库的时候才会被调用...2.如果没有的话就要注意数据类型(integer、text、float等)前面一定要有一个空格否则 属性名就会变成**“KEY_IDInteger
10、紧凑型结果储存:使用内部数据存储机制,以达到最佳的兼容SQLite的原生数据类型。因此,SQLiteSpy使用远低于其它的SQLite管理内存和更有效地处理大量的表。 11、内建的SQLite引擎: SQLiteSpy已建成一个单一的...
在Android平台中,集成了一个嵌入式关系型数据库–SQLite,它支持NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然只支持五种数据类型,实际上可以接受varchar(n),char(n),decimal...
轻量的 Android SQLite 数据库工具集合, 适合用SQLite做一些数据存储的项目. 根据Java实体自动生成数据库表. 不需要书写任何SQL语句即可实现对数据库的 创表 增 删 查 改 分页 操作. 所有的操作方法都是静态的...
Android应用程序模板,项目分层:MODEL,BLL,IDAL,DAL,Android,...支持数据库:SQLite,设计时数据类型请使用常用的类型,一个表的字段数量不要太多,务必自动增长列为主键。运行时注意将数据库文件导入sd卡。请看截图说明。
SQLite 目前支持 NULL,INTEGER,REAL(浮点数字),TEXT,BLOB(二进制文本)这5中数据类型。 SQLite 的数据库文件默认位于/data/data/package-name/databases 目录下。 创建一个数据库,首先要实现...
一个简单的基于Android的Sqlite数据库的操作封装,它有如下的好处:便捷地创建表和增添表字段灵活的数据类型处理通过操作对象来insert或者update表记录支持多种查询方式,支持多表自定义的复杂查询,支持分页查询支持...
这是一个Android系统中SQLite数据库存储自定义对象的实例,具体做法是:将对象序列化为字节流字符串,然后将字节流字符串以TEXT类型存储在数据库中;在取数据时,将字节流反序列化为对象就行了。所以我们的实体类得...
目前在Android 系统中集成的是 SQLite3 版本 ,SQLite 不支持静态数据类型 , 而是使用列关系 。 这意味着它的数据类型不具有表列属性 , 而具有数据本身的属性 。 当某个值插入数据库时, SQLite 将检查它的类型。...
里面包含了28万多条数据,更新到2013年5月份,Sqlite类型的数据库,android可以直接拿来使用,支持全国手机号码和固定电话查询
本文实例讲述了Android SQLite数据库操作方法。分享给大家供大家参考,具体如下: SQLite and Android ...SQLite支持的数据类型包括: 1. TEXT (类似于Java的String) 2. INTEGER (类似于Java的long) 3.
以前写PHP的时候,内置了print_r()和var_dump()两个函数用于打印输出任意类型的数据内部结构,现在做Android的开发,发现并没有这种类似的函数,对于数据库的查看很不方便,于是就写了一下查看数据库表的方法代码。...
受大神启发,特对其代码进行了注释,功能完善等处理
SQLite是一款开源的、嵌入式关系型数据库,第一个版本Alpha发布于2000年。SQLite在便携性、易用性、紧凑性、高效性和可靠...SQLite支持NULL、INTEGER、REAL、TEXT和BLOB数据类型 分别代表:空值、整型值、浮点值、字符
在Android平台上,集成了一个嵌入式关系型数据库——SQLite,SQLite3支持NULL、INTEGER、REAL(浮点数字)、 TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar...
源码squidb,SquiDB是一款有Yahoo公司推出的Android SQLite数据库ORM工具,它的目的是使得使用SQLite数据库变得更加容易,并且性能和灵活性毫不逊于原始的SQL语句。SquiDB结合安全类型对象,无需则乱无章的SQL语句,...
除了占用资源小,处理速度快等优点,SQLite还有自己的特点,那就是支持弱数据类型,其他主流SQL数据库通常支持强类型的数据,也就是每一列的类型都必须预先指定,如果输入的数据和指定数据类型对不上则报错,而...
Android和iOS的数据库都是用SQLite...在android平台上,集成了一个嵌入式关系型数据库—SQLite,SQLite3支持NULL,INTEGER,REAL(浮点数字),TEXT(字符串文本)和BLOB(二进制对象)数据类型,实际上sqlite3也接受varchar(n),