首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

【转】关于Sqlite的日期比较步骤

2012-07-04 
【转】关于Sqlite的日期比较方法sqlite的日期比较方法:??比如今天是:200-02-22运行如下语句所得到的结果不一

【转】关于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

?

?

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

热点排行