最近很多小伙伴都在问在android中使用sqlite的strftime函数这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展Android中使用SQLite3命令行查看内嵌数据库的
最近很多小伙伴都在问在android中使用sqlite的strftime函数这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展Android中使用SQLite3 命令行查看内嵌数据库的方法、Android中使用Sqlite数据库、Android中的SQLite数据库、Android中的System.currentTimeMillis()数据保存在Sqlite中后的查询问题等相关知识,下面开始了哦!
本文目录一览:- 在android中使用sqlite的strftime函数
- Android中使用SQLite3 命令行查看内嵌数据库的方法
- Android中使用Sqlite数据库
- Android中的SQLite数据库
- Android中的System.currentTimeMillis()数据保存在Sqlite中后的查询问题
在android中使用sqlite的strftime函数
当我在我的查询中使用时,我在另一个表中以YYY-MM-DD格式使用sqlite3
SELECT * FROM SDay WHERE strftime(''%Y-%m-%d'',date)>=strftime(''%Y-%m-%d'',''2013-02-21'') AND strftime(''%Y-%m-%d'',date)<strftime(''%Y-%m-%d'',''2013-09-15'')
它工作得很好.
另一方面,当我在另一个表中使用格式YYY-MM时
那么
SELECT * FROM SMonth WHERE strftime(''%Y-%m'',date)>=strftime(''%Y-%m'',''2013-02'') AND strftime(''%Y-%m'',date)<strftime(''%Y-%m'',''2013-09'')
不会起作用.为什么会发生这种情况,我该如何解决?
谢谢.
解决方法
sqlite> .nullvalue <NULL> sqlite> select strftime(''%Y-%m'',''2013-02''); <NULL>
只需将日期添加到您提供的日期即可正常运行:
sqlite> select strftime(''%Y-%m'',''2013-02-01''); 2013-02
您可以找到有效时间字符串格式here的列表.
Android中使用SQLite3 命令行查看内嵌数据库的方法
在上图中,除了最后一个红色的方框,其它方框都是adb shell下的命令。
【1】在Android程序中,一般创建的数据库存放在 /data/data/[应用程序包名]/databases 的目录下。
【2】cd 命令:文件夹跳转命令。ls 命令:查看某个文件夹下面有哪些文件。
【3】使用 "sqlite3 [数据库名称] " 命令来对某数据库进行一系列的操作。
【4】在经过第【3】步骤后,可以使用 .tables 命令查看某数据库中包含哪些表。若要查询某表中包含的数据,在 sqlite> 命令后输入查询的sql语句即可查询,但要注意的是要以分号[;]来结束该语句的输入。
【5】若在命令行中输入 adb shell 后,提示:adb不是内部或外部命令,也不是可运行的程序,或批处理文件,遇到这种情况是由于环境变量没有设置好的问题导致的。解决方法:在安装的Android sdk 包目录下的找到adb工具所在目录,一般是在...\android-sdk-windows\tools目录或者在...\android-sdk-windows\platform-tools目录下。把该目录添加到path环境变量中就OK了。
ps:命令行查看android sqlite数据库
命令行查看sqlite数据库:
启动模拟器
命令行cd 到android-sdk-windows\platform-tools目录
adb shell //进入模拟器
cd /data/data/yourpackagename/ //进入到软件安装目录
cd databases //进入到数据库目录
ls //查看现有的数据库,如果创建过应该有个XXXX.db
sqlite3 XXXX.db //用sqlite3工具打开数据库
//下面是sqlite3命令
sqlite> .tables //查看数据库里面的表 本例应该能看到表YYYY
sqlite> .schema YYYY //查看表结构
sqlite> select * from YYYY; //查询表
Android中使用Sqlite数据库
请问一下高手们在折线图的程序中怎么添加SQLite数据库,能够读取数据,读取的数据能够显示在折线图上?Android中的SQLite数据库
大家好,
我是android的菜鸟,需要一些帮助…
我正在开发一个应用程序,要求我在一个活动中写一个sqliteDatabase并从另一个活动访问它.我在执行此操作时遇到了问题.关于如何在多个活动之间共享数据库的任何建议/想法…?
只需在整个活动中始终使用相同的数据库名称,就不会造成任何问题.
sqliteOpenHelper helper = new sqliteOpenHelper(
context,R.string.db_name,null,1);
sqliteDatabase db = helper.getWritableDatabase();
Android中的System.currentTimeMillis()数据保存在Sqlite中后的查询问题
一定要看到最后
在android中System.currentTimeMillis()获取的数据保存在sqlite后按日期查询时如果按以下写法
select id,recordtext,addTime,DATEtime(addtime, ''unixepoch'') from tbname
查询的结果是这样的:
查询后发现SQLITE支持的日期格式:
SQLite 支持以下五个日期和时间函数:
序号 | 函数 | 实例 |
---|---|---|
1 | date(timestring, modifier, modifier, ...) | 以 YYYY-MM-DD 格式返回日期。 |
2 | time(timestring, modifier, modifier, ...) | 以 HH:MM:SS 格式返回时间。 |
3 | datetime(timestring, modifier, modifier, ...) | 以 YYYY-MM-DD HH:MM:SS 格式返回。 |
4 | julianday(timestring, modifier, modifier, ...) | 这将返回从格林尼治时间的公元前 4714 年 11 月 24 日正午算起的天数。 |
5 | strftime(format, timestring, modifier, modifier, ...) | 这将根据第一个参数指定的格式字符串返回格式化的日期。具体格式见下边讲解。 |
这个和我们用到的无关,我们是从JAVA的System.currentTimeMillis()中得到的,经过分析上面的示例发现只要把我们的数据除以1000就可以被Sqlite正常转换了,代码如下
select id,addTime,DATEtime(addTime/1000, ''unixepoch'') from soundrecord
执行后结果就是:
运行正常!
希望能帮到朋友们!
我们今天的关于在android中使用sqlite的strftime函数的分享已经告一段落,感谢您的关注,如果您想了解更多关于Android中使用SQLite3 命令行查看内嵌数据库的方法、Android中使用Sqlite数据库、Android中的SQLite数据库、Android中的System.currentTimeMillis()数据保存在Sqlite中后的查询问题的相关信息,请在本站查询。
本文标签: