加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite关于日期的处理

发布时间:2020-12-12 20:27:46 所属栏目:百科 来源:网络整理
导读:比如今天是:200-02-22 运行如下语句所得到的结果不一样: select date('now') 结果:2009-02-21 select datetime('now','localtime') 结果:2009-02-22 00:52:04 --------------------------- 分隔线 -------------------------- 所以比较时用第二种语句才取
比如今天是: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'),'now') FROM Placard 差8个时区... SELECT Placard_StartTime,datetime('now','localtime'),'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 本文版权归学IT网(www.xueit.com)所有,任何单位与个人转载必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读