我面临一个简单的问题。我一直在使用MS SQL和MySQL,这是我第一次使用SQLite。我想从下表中获取数据,其中date列中的月份等于提供的月份。
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
答案 0 :(得分:2)
带有%m
格式的SQLite strftime()
function返回带有前导零的月份:
strftime('%m',[memberFees].[feesDate]) = '08'