如何根据日期列中的月份从SQLite中获取数据

时间:2013-08-10 19:02:02

标签: php sqlite inner-join

我面临一个简单的问题。我一直在使用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

1 个答案:

答案 0 :(得分:2)

带有%m格式的SQLite strftime() function返回带有前导零的月份:

strftime('%m',[memberFees].[feesDate]) = '08'