【问题标题】:How to add/subtract a day如何加/减一天
【发布时间】:2017-08-23 18:57:24
【问题描述】:

如何从Web SQL 中的dateandtimesmalldatetime 日期中减去(或添加)天数?我已经尝试搜索它,但找不到任何东西。

现有的解决方案都是针对SQLMySQL

我尝试过:DATEADD (SQL) 和 DATE_ADD/DATE_SUB (MySQL) 函数。

当我在我的网页上使用它们时,两者都会出错(即使我复制粘贴简单的示例语句)。

【问题讨论】:

    标签: sql web-sql opendatabase


    【解决方案1】:

    尝试(现在更改时间字符串,或立即离开以添加或减去今天)

    SELECT date('now','+1 day');SELECT date('now','-1 day');

    编辑:

    如果要添加或减去特定日期,则需要将日期格式化如下

    YYYY-MM-DD HH:MM:SS
    

    然后您可以使用datedatetime 并添加/减去这一天。使用评论中的数据:

    SELECT DATE('2017-08-24 09:05:00','-1 days') --returns 2017-08-23
    SELECT DATETIME('2017-08-24 09:05:00','+1 days'); --returns 2017-08-25 09:05:00
    

    【讨论】:

    • 当我使用“现在”时它可以工作。如何使它适用于 smalldatetime 对象/变量?假设我有一个名为 max1 的变量,它采用 smalldatetime 格式:'2017-8-24 9:5:00' - 我该如何加/减?
    • 非常感谢,当我使用 datetime 值时它可以工作,但当我有 smalldatetime 值时它不起作用。所以我有类似:'2017-8-26 7:15:00' 而不是'2017-08-24 07:15:00'。它返回一个空值。
    • 我可以像上面那样在 smalldatetime 上使用任何功能吗? [我不想使用转换/转换,因为这是嵌套查询的一部分,例如:“SELECT * FROM TABLE WHERE DATE BETWEEN(最大值的嵌套查询 - x 天)AND(最大值)”;我也需要输出在 smalldatetime 中]。
    • 你可能需要转换它们,sqlite.org/lang_datefunc.html你可以找到时间字符串格式。
    • 非常感谢您的帮助。 (实际上我犯了一个错误。它之所以出错,不是因为它是“smalldatetime”格式,而是因为我插入它们的格式不正确。奇怪的是,当我使用简单的日期之间搜索查询时,这种错误的格式有效,但给出了错误当我尝试像上面那样执行日期函数[添加/减去日期]时。现在,当我更正了数据库中的条目时,上面的代码可以完美运行。
    猜你喜欢
    • 1970-01-01
    • 2021-09-17
    • 2010-10-01
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 2022-08-04
    • 2012-03-19
    • 1970-01-01
    相关资源
    最近更新 更多