【问题标题】:Add 2 hours to current time in MySQL?在 MySQL 中将 2 小时添加到当前时间?
【发布时间】:2010-10-10 00:47:13
【问题描述】:

这个查询在 MySQL 中的有效语法是什么?

SELECT * FROM courses WHERE (now() + 2 hours) > start_time

注意:start_time 是课程表的一个字段

【问题讨论】:

    标签: mysql


    【解决方案1】:
    SELECT * 
    FROM courses 
    WHERE DATE_ADD(NOW(), INTERVAL 2 HOUR) > start_time
    

    有关其他日期/时间操作,请参阅 Date and Time Functions

    【讨论】:

      【解决方案2】:

      你需要DATE_SUB()DATE_ADD()

      【讨论】:

      • 如果有例子就好了。
      【解决方案3】:
      SELECT * FROM courses WHERE (NOW() + INTERVAL 2 HOUR) > start_time
      

      【讨论】:

        【解决方案4】:

        DATE_ADD() 函数可以解决问题。 (如果您至少运行 v4.1.1,也可以使用 ADDTIME() 函数。)

        对于您的查询,这将是:

        SELECT * 
        FROM courses 
        WHERE DATE_ADD(now(), INTERVAL 2 HOUR) > start_time
        

        或者,

        SELECT * 
        FROM courses 
        WHERE ADDTIME(now(), '02:00:00') > start_time
        

        【讨论】:

        • 如果有例子就好了。
        • 文档有一些很好的例子(并且 SO 并不是要替代文档)。但是为了这个问题和未来访问者的利益,我添加了这两种语法。
        【解决方案5】:

        这也行

        SELECT NAME 
        FROM GEO_LOCATION
        WHERE MODIFY_ON BETWEEN SYSDATE() - INTERVAL 2 HOUR AND SYSDATE()
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-11-21
          • 1970-01-01
          • 2017-03-28
          • 2012-12-26
          • 2012-12-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多