从日期字段中选择特定数据

Posted

技术标签:

【中文标题】从日期字段中选择特定数据【英文标题】:Select specific data from date field 【发布时间】:2016-12-10 08:58:18 【问题描述】:

我正在尝试从表中获取特定月份和年份的一些记录,但我只有完整的日期字段。

在上图中,我想从日期中选择数据,但仅限于 (2015-09)

例如:

SELECT * FROM attendance WHERE date = (year-month)

【问题讨论】:

【参考方案1】:

你可以使用yearmonth函数:

SELECT * FROM attendance WHERE year(`date`) = '2015' and month(`date`) = '9'

【讨论】:

这个不错。但一个问题是,如果你想使用索引你不能:( @1000111 太好了!!!你总能抓住一些建设性的观点。使用索引,也许凯尔的答案更好。 :-D 是的。 @KaeL 的回答可以利用date 字段上的索引。【参考方案2】:

您可以设置从该月的月初到月底的日期范围。

SELECT *
    FROM attendance
    WHERE `date` BETWEEN '2015-09-01' AND '2015-09-30'

【讨论】:

这个可以使用date上的索引。【参考方案3】:

尝试使用DATE_FORMAT。 您的查询是:

SELECT * FROM attendance WHERE DATE_FORMAT(date,'%Y-%m') = '2016-05'

【讨论】:

请用一些数据代替(year-month),例如SELECT * FROM attendance WHERE DATE_FORMAT(date,'%Y-%m')='2015-09'。否则看起来很混乱。

以上是关于从日期字段中选择特定数据的主要内容,如果未能解决你的问题,请参考以下文章

当用户从日期选择器中选择日期时,如何在下拉列表中获取特定的星期几?

在输入字段 c# 中的 Unity 上显示从日历中选择的日期

在 postgres 中选择字段的数据类型

如何从 Swift 中特定工作日的日期范围中查找日期?

如何从sqlite中选择一个日期

如何在时间戳字段中仅使用日期来选择记录?