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

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'。否则看起来很混乱。

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