首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FMDB和datetime()函数

FMDB和datetime()函数
EN

Stack Overflow用户
提问于 2011-12-06 12:07:33
回答 2查看 855关注 0票数 0

我有一些关于日期和FMDB的问题。我有一大堆记录,其中包含日期时间值,我想按日期/小时等进行分组。使用基本的sqllite查询工具,我已经确定了要使用的正确sql语法:

代码语言:javascript
复制
select strftime('%Y-%m-%d',datetime('2001-01-01',zentrydate || 'seconds','localtime')) as dteEntry...

以上工作正常,返回的数据正确。但是,当我尝试使用FMDB包装器执行相同的操作时,我的结果不会返回正确的结果。当我将其打印到控制台时,使用datetime()函数返回的任何字段都读取为NULL。此外,查询也没有正确执行,因为只返回了1条记录,我知道这是不正确的,因为我可以使用我的sqllite工具执行相同的查询,返回正确的结果。

有人能帮我弄清楚我需要做什么吗?我几周前才下载了FMDB lib,所以应该有一个相对较新的版本。

EN

回答 2

Stack Overflow用户

发布于 2011-12-13 06:35:38

您确定使用: While (rs next) {正确读取了结果集吗

票数 0
EN

Stack Overflow用户

发布于 2012-05-01 06:49:48

我知道这是一个古老的问题,但我只是偶然发现了它。我有几个想法:

  1. 当您说您有一堆datetime记录时,我不确定这在SQLite上下文中是什么意思,因为没有本机datetime数据类型。(对于我们这些来自其他SQLite引擎的人来说,这是一个陌生的概念。)它可以存储为字符串,也可以存储为数值。(请参见SQLite Data Types.)
  2. Do I从您的zentrydate语法推断,localtime.

是自2001年1月1日以来的秒数?如果是这种情况,则在秒之前缺少一个空格,例如zentrydate || ' seconds'。如果它不是自2001年1月1日以来的秒数,则我不知道如何处理此问题。无论如何,这肯定会导致FMDB返回空值。

  • 您可能需要重新评估zentrydate的使用

总之,我怀疑这不是一个FMDB问题,而是一个更广泛的SQLite问题。如果您仍然有问题,请让我们知道。我相信你现在已经找到了其他方法来解决你的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8395224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档