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

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

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

例如:

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

【问题讨论】:

    标签: php mysql sql mysqli mysql-workbench


    【解决方案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'。否则看起来很混乱。
    猜你喜欢
    • 2019-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-12
    • 2013-08-22
    • 2018-03-22
    • 2020-07-13
    相关资源
    最近更新 更多