1

私は簡単な問題に直面しています。私は常に 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のものではないことはわかっていますが、ここで同様のことをしたいと思います。Googleで検索したところ、次のようになりました。

 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
4

1 に答える 1

2

次の形式の SQLite のstrftime()関数は、%m先頭にゼロを付けて月を返します。

strftime('%m',[memberFees].[feesDate]) = '08'
于 2013-08-10T19:04:09.937 に答える