SQLite 中关于日期的查询处理
发布时间:2020-12-12 19:44:54 所属栏目:百科 来源:网络整理
导读:SQLite 中可以根据日期来筛选数据。 日期格式 经过测试支持yyyy-mm-dd和yyyy-mm-dd HH:mm:ss,。 但是 在测试时出现了一个问题: 当我用?代替参数时: Cursor cursor = dbHelper.getReadableDatabase().rawQuery("select * from test where h_time='?' and h_
SQLite 中可以根据日期来筛选数据。 日期格式 经过测试支持yyyy-mm-dd和yyyy-mm-dd HH:mm:ss,。 但是 在测试时出现了一个问题: 当我用?代替参数时: Cursor cursor = dbHelper.getReadableDatabase().rawQuery("select * from test where h_time>='?' and h_time<='?'",new String[]{"1991-07-01 00:00:00","1991-07-01 23:59:59"}) Logcat出现如下错误:
直接用SQL语句: Cursor cursor = dbHelper.getReadableDatabase().rawQuery("select h_name from test where h_time>='1991-07-03 00:00:00' and h_time<='1991-07-03 23:59:59'",null);程序运行正常,能查询出预期结果。 然后又尝试了几种写法:单引号加到String[]里面: Cursor cursor = dbHelper.getReadableDatabase().rawQuery("select h_name from test where h_time>=? and h_time<=?",new String[]{"'1991-07-01 00:00:00'","'1991-07-01 23:59:59'"});与不加单引号 Cursor cursor = dbHelper.getReadableDatabase().rawQuery("select h_name from test where h_time>=? and h_time<=?","1991-07-01 23:59:59"});程序没有报错,但是没有出现预期的查询结果。 以后关于时间的判断处理,尽量在SQL语句中通过拼接字符串完成。 出现上述情况。希望有知道的人解答。 测试代码下载 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |