【问题标题】:How do I find the difference between today's date and X days from today?如何找到今天的日期和从今天起 X 天之间的差异?
【发布时间】:2012-12-20 22:07:56
【问题描述】:

大家好,

在我提出问题之前检查了所有可能的线程,我没有找到适合 VB.net 和 MySQL 的答案。大多数处理 Android 和 PHP。

因此,我尝试对 MySQL 数据库中的表中的日期字段运行查询,以查找日期值从今天起 X 天的所有记录。我该怎么做?

我使用的是 VS2010 和 MySQL——以防我没有提到。谢谢。

//Kismet

【问题讨论】:

    标签: mysql vb.net


    【解决方案1】:

    MySQL:

    SELECT *
    FROM table
    WHERE DATE(datecol) BETWEEN DATE(NOW()) AND DATE(DATE_ADD(NOW(), INTERVAL x DAY));
    

    FIDDLE

    【讨论】:

    • 感谢您的帮助,但查询返回 0 条记录,我知道其中的记录符合从今天起 15 天的条件。
    • 我添加了一个小提琴,表明它可以工作。确保考虑到时区——小提琴站点在 GMT 运行,所以它说 NOW() 是 12 月 21 日。
    • 你是对的它确实有效......我想这意味着我需要发布另一个问题。似乎查询正在查找日期值恰好是从今天开始的天数的记录。我想要完成的是现在 + X 天数范围内的所有记录。非常感谢您的帮助。
    • 既然您知道了date_add(),那么如何做到这一点不是很明显吗?
    • 哈哈,实际上我尝试了一下,最终得到了你想出的结果。谢谢 - 真的很感激。
    【解决方案2】:

    这是对 MySQL 的查询和

    查找日期值距今天 X 天的所有记录

    SELECT *
    FROM table
    WHERE date_column = CURRENT_DATE + INTERVAL X DAY
    

    这将查找日期值在今天和从今天起 X 天之间的所有记录

    SELECT *
    FROM table
    WHERE date_column BETWEEN CURRENT_DATE AND CURRENT_DATE + INTERVAL X DAY
    

    【讨论】:

    • 感谢您的帮助,但查询返回 0 条记录。现在,日期是 MySQL 日期格式应该没关系吧?
    猜你喜欢
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多