私は単純な問題に直面しています。私は常にMSSQLと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
この形式のSQLiteのstrftime()
関数は、%m
先行ゼロのある月を返します。
strftime('%m',[memberFees].[feesDate]) = '08'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加