`
玲cc
  • 浏览: 25855 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

【转】关于Sqlite的日期比较方法

阅读更多

sqlite的日期比较方法:

 

 

比如今天是:200-02-22

运行如下语句所得到的结果不一样:

select date('now')
结果:2009-02-21 

select datetime('now','localtime')
结果:2009-02-22 00:52:04 
--------------------------- 分隔线 --------------------------

 

所以比较时用第二种语句才取得正确结果,例如(取大于现在时间的记录):

select * from 表 where 日期字段>datetime('now','localtime')

 

好象没有MSSQL的datediff等函数

如下语句实现datediff('m',开始日期,结束日期')函数同一个数数据:

select * from 表 where strftime('%m',日期字段)=strftime('%m','now')

如此就可以实现了两个日期相比较,举一反三,同样使用strftime格式式日期来对日、周、年比较

参考Sqlite日期函数详细文档:

http://www.xueit.com/html/2009-02/27_649_00.html

 

--------------------------- 分隔线 如下收集于网络 -------------

select * from Placard where Placard_EndTime > datetime('now');

 

SELECT Placard_StartTime,strftime('%s',Placard_StartTime) , datetime('now'),strftime('%s','now') FROM Placard

差8个时区...

SELECT Placard_StartTime,strftime('%s',Placard_StartTime) , datetime('now','localtime'),strftime('%s','now','localtime') FROM Placard

 

上一条:大于指定时间的第一条         

select title,pubtime from article where pubtime>'2008-06-15 03:35:28' order by pubtime asc Limit 1 Offset 0

 

貌似时间的格式有严格的要求 2008-06-15 03:35:28 前面只能用 - 后面只能用:不足二位数的补零

 

下一条:小于指定时间的第一条

select title,pubtime from article where pubtime<'2008-06-15 03:35:28' order by pubtime desc Limit 1 Offset 0

 

注意时间的精度。03:35:28 后面就没有了。

03:35:28.000

 

 

时间的精度似乎只能到秒级的,不过满足现在的项目需求是足够了

 

经过一段时间的实践,其实可以在日期这列直接存储日期的tick。比较日期的tick大小就可以知道时间的早晚了。这样时间的精度也可以达到毫秒级。

分享到:
评论

相关推荐

    SQLite时间转化问题

    SQLite 中的日期和时间函数是数据库管理中非常重要的一部分,掌握这些函数可以帮助开发者更好地处理日期和时间的转换操作。下面是 SQLite 中五个时间函数的介绍: 1. date() 函数:该函数返回一个以 “YYYY-MM-DD...

    sqlserver转换sqlite

    标题中的“sqlserver转换sqlite”指的是将Microsoft SQL Server数据库的数据迁移至SQLite数据库的过程。这是一个常见的需求,尤其是在需要轻量级数据库、跨平台支持或者离线数据存储的场景中。SQL Server是企业级的...

    SQLITE时间日期函数

    本文将详细介绍SQLite中关于时间日期的操作,包括常用的日期时间函数及其用法。 #### 二、SQLite时间日期函数概述 SQLite提供了多种内置函数来处理时间日期数据,主要包括`datetime()`、`date()`、`time()`以及`...

    Sqlite3时间存储格式问题?

    总的来说,SQLite3 的日期和时间处理虽然灵活,但也需要开发者对存储和比较的逻辑有深入理解,以确保正确处理和比较日期时间数据。在实际应用中,合理选择存储类型并利用内置函数,可以有效地管理和操作日期时间数据...

    Sqlite3重编译版本,支持Sqlite3_key和Sqlite3_rekey方法.rar

    这两个方法是关于数据库加密的关键功能,对于那些需要增强数据安全性的应用来说尤为重要。 `Sqlite3_key`方法允许在打开数据库连接时设置一个密钥。这个密钥用于加密和解密数据库内容,确保数据在存储时是加密的,...

    C# Sqlite分页查询,日期查询

    为了更好地封装这些操作,我们可以创建一个SQLiteHelper类,它包含执行查询、分页查询和日期查询的方法。`SQLiteHelper`类可能会有以下结构: ```csharp public class SQLiteHelper { private SQLiteConnection ...

    sqlite3使用日期、时间数据类型.pdf

    例如,如果应用场景需要频繁地对日期进行范围查询或比较,那么使用TEXT类型的日期或时间可能更方便;如果需要进行数值计算,使用REAL或INTEGER可能更为高效。 SQLite3提供了丰富的内置函数来操作日期和时间,使得...

    最新版: Sqlite ODBC Driver 0.99991 (SQLite 3.43.2) 安装版和dll版

    修改日期 2023-10-23 21:50 made with SQLite 2.8.17, SQLite 3.43.2 直接注册SQLite ODBC Driver使用方法: 注册命令: rundll32 sqlite3odbc.dll,install 卸载命令: rundll32 sqlite3odbc.dll,uninstall

    Android的SQLite中DateTime类型数据的存取问题

    在 Android 的 SQLite 中存储 DateTime 类型数据需要考虑到日期类型数据的存储方式和解析方法。在存储时,需要使用 java.sql.Timestamp 将 java.util.Date 类型数据转换成 Timestamp 对象。取出时,需要使用 String ...

    sqlite管理工具介绍 时间查询介绍

    SQLite是一种轻量级的数据库管理系统,它无需...理解如何正确处理日期时间格式对于在SQLite中进行高效的数据操作至关重要。记得在编写代码或使用管理工具时,始终确保日期时间格式的一致性,以便避免可能出现的错误。

    sqlite时间戳转时间语句(时间转时间戳)

    本文将深入探讨SQLite中的这两种转换方法。 1. **时间戳转时间** 在SQLite中,`datetime()`函数可以用于将Unix时间戳转换为日期时间格式。Unix时间戳是从1970年1月1日(UTC)午夜开始计算的秒数。例如,要将时间戳...

    SQLiteStudio-2.1.5 非常好用的SQLite编辑工具

    1. **数据浏览**:用户可以通过SQLiteStudio清晰地查看和编辑数据库中的表数据,支持多种数据类型,如整型、浮点型、字符串、日期时间等。 2. **结构管理**:可以创建、修改和删除数据库表、索引、视图,以及触发器...

    Python-csvstosqlite将CSV文件转换成SQLite数据库

    对于更高级的用例,`csvs-to-sqlite`还支持命令行选项来定制导入行为,例如指定列类型、设置主键、处理日期和时间格式等。此外,它还可以与Jupyter Notebook和pandas库结合使用,实现更复杂的数据预处理和分析。 ...

    如何在SQLITE中使用时间字段作索引

    SQLite允许使用日期和时间格式的字符串进行插入,如 'YYYY-MM-DD HH:MM:SS': ```sql sqlite&gt; insert into timetest values ('2010-08-27 09:30:00', 1, 'jacky'); sqlite&gt; insert into timetest values ('2010-08-...

    Android数据库SQLite详解

    - **字段**: 表格中的每一列称为字段,每个字段都有特定的数据类型,如整型、字符串、日期等。 - **主键**: 用于唯一标识表中每一行的字段,通常设置为自动增长。 ### 2. Android中的SQLite操作 - **...

    基于labview的sqlite运用Sqlite.rar

    10. 灵活性:SQLite支持多种数据类型,如数值、文本、日期/时间等,可以满足不同应用场景的需求。同时,LabVIEW的SQLite接口提供了足够的灵活性,开发者可以根据项目需求定制数据操作的逻辑。 总的来说,"基于...

    SQLiteStudio解压版

    3. 数据浏览和编辑:用户可以直接在SQLiteStudio中查看和编辑数据库中的数据,支持多种数据类型,包括文本、数字、日期/时间等。 4. 导入/导出:可以将数据从CSV、JSON、XML等格式导入到SQLite数据库,也可以将...

    SQLite学习项目集合

    6. **sqlite 增删改查**:这是关于基本CRUD(Create, Read, Update, Delete)操作的示例,通过实际项目展示了如何在SQLite中进行数据的增、删、改、查。 7. **移动查询系统-百纳铁路小助手**:可能是一个交通查询...

    sqlite3.8.8.3

    4. **SQL函数增强**:SQLite 3.8.8.3扩展了内置的SQL函数集合,包括日期和时间处理、字符串操作等,增强了开发者在数据库中的计算和转换能力。 5. **安全性和稳定性增强**:这个版本修复了若干安全漏洞,提升了系统...

    c#对SQLite创建自定义函数

    例如,假设我们需要一个计算两个日期之间差值的函数,我们可以创建如下的方法: ```csharp public static DateTime? DateDiffDays(DateTime? date1, DateTime? date2) { if (date1.HasValue && date2.HasValue) ...

Global site tag (gtag.js) - Google Analytics