![](/img/trans.png)
[英]Convert ISO8601 date time format to another ISO8601 date time format
[英]Date comparison in SQLite using ISO8601 format
如果日期以ISO8601
格式存储,在SQLite
筛选日期的最简单方法是什么?
例如,我数据库中的日期存储为(例如) 2014-07-01T08:00:00.000+01:00
。
我正在运行查询以查看约会是否冲突。 当我运行查询时:
select count(*) from Appointment where (EndDateTime > '2014-07-02 08:30' and StartDateTime < '2014-07-02 08:45')
这是一个简单的查询,以查看是否有其他约会的开始/结束时间越过该约会。 对于一个事实,我知道在此查询中应该选择一些约会。 例如,我的一个约会有以下几列:
StartDateTime: 2014-07-02T08:00:00.000+01:00
EndDateTime: 2014-07-02T09:00:00.000+01:00
然而,即使我知道我应该变得足够,我也没有结果。 我确信我如何在查询中过滤日期存在问题-有什么想法吗?
您在查询中用于比较的文字不是ISO8601的部分标记:
select count(*) from Appointment where (EndDateTime > '2014-07-02 08:30' and StartDateTime < '2014-07-02 08:45')
日期和时间之间缺少T
比较文字时,比较将在'T'
与' '
停止,并且不考虑时间部分。
您可以在格式模式中使用单引号输出文字T
,例如
yyyy-MM-dd'T'HH:mm
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.