如何解决如何在sqlite中获取两个日期之间的计数总和
表中日期的数据类型为DATE(采用我们的格式,即“ mm-dd-yyyy”),我用过SELECT count from table_name Where Dt<'08/14/2020' AND Dt>'08/01/2020'
上面将返回日期为2015年的结果。我希望所有计数都在08/14/2020'和'08 / 01/2020之间。似乎正在比较字符串。请帮助我解决此问题。我什至试过它之间的结果也一样。
解决方法
请尝试-将mm / dd / yyyy转换为yyyy-mm-dd。 (Sqlite具有一种日期格式)。转换后,您应该能够使用where语句而不是字符串进行过滤。
SELECT substr(Date,7) || "-" || substr(Date,1,2)
|| "-" || substr(Date,4,2) FROM Table
,
您可以使用字符串运算符SUBSTR()
,然后将其转换为日期格式:
SELECT COUNT(*) AS Count
FROM tab
WHERE DATE( SUBSTR(dt,-4)||'-'||SUBSTR(dt,5) )
BETWEEN '2020-08-01' AND '2020-08-14'
以获取边界日期值的包含计数。
,这对我有用,谢谢。
SELECT COUNT(*) AS Count FROM tab WHERE DATE( SUBSTR( a.Dt,-4 )||'-'||Substr(a.Dt,2)||'-'||Substr(a.Dt,2) ) BETWEEN '2019-10-01' AND '2020-08-15';
同样也可以。
SELECT COUNT(*) AS Count FROM tab WHERE tab.date BETWEEN '20191001' AND '20200815';
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。