如何根据日期列中的月份从 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 中获取数据的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Presto 中的日期获取月份名称

如何使用游标从sqlite android中的多个列中获取数据

需要从redshift中的日期列中划分月份和年份

为啥我不能从我的 DataFrame 中的“日期”列中提取月份的列? [复制]

如何根据单独列中的月份和年份参数对 DB2 结果进行排序

根据月份日期列查找数据框列中每个因素的平均值[重复]