如何根据日期列中的月份从 SQLite 中获取数据
Posted
技术标签:
【中文标题】如何根据日期列中的月份从 SQLite 中获取数据【英文标题】:How to Fetch data from SQLite according to Month from a Date Column 【发布时间】:2013-08-12 11:46:24 【问题描述】:我面临一个简单的问题。我一直使用 MS SQL 和 mysql,这是我第一次使用 SQLite。我想从下表中获取数据,其中日期列中的月份等于提供的月份。
RecNo feesId memberId feesAmount feesReceipt feesDate feesPaidTillMonth feesPaidTillYear
----- ------ -------- ---------- ----------- ---------- ----------------- ----------------
1 1 15 10.00 fsadfdsf 2013-08-10 11 2013
2 2 5 100.00 122314 2013-08-10 3 2015
3 3 13 444.00 sda 2013-08-10 1 2013
4 4 5 66.50 5564 2013-08-10 11 2013
我想获取所有行 'WHERE month(feesDate) = 08' 我知道月份函数不是 SQLite 的,但我想在这里做类似的事情。我搜索了谷歌,我得到了这个:
strftime('%m',[memberFees].[feesDate])
但它并没有做我想要的东西。我想要这个函数的整个查询是这样的:
SELECT [memberList].[memberId],[memberList].[memberFName], [memberList].[memberLName],
[memberFees].[feesAmount],[memberFees].[feesDate],[memberFees].[feesPaidTillMonth],[memberFees].[feesPaidTillMonth]
FROM [memberFees] INNER JOIN [memberList] on [memberfees].[memberId] = [memberList].[memberId]
WHERE
strftime('%m',[memberFees].[feesDate]) = 8 AND [memberList].[memberLevel] = 3
【问题讨论】:
【参考方案1】:具有%m
格式的SQLite 的strftime()
function 返回带有前导零的月份:
strftime('%m',[memberFees].[feesDate]) = '08'
【讨论】:
以上是关于如何根据日期列中的月份从 SQLite 中获取数据的主要内容,如果未能解决你的问题,请参考以下文章
如何使用游标从sqlite android中的多个列中获取数据