【问题标题】:Date math with Django SQL Explorer使用 Django SQL Explorer 进行日期数学运算
【发布时间】:2021-11-23 22:15:45
【问题描述】:

我已经在一个项目中实现了 Django SQL Explorer,并正在尝试构建一个查询,该查询将在今天和今天之前 12 个月之间提取条目,但我很难弄清楚 SQL Explorer 如何进行日期数学运算.到目前为止,我能发现的唯一一件事是 SQL Explorer 使用 current_date 作为今天的日期。

所以:

SELECT current_date;

返回:

2021-10-02



我尝试过使用 MySQL 实现(因为这是我的项目正在使用的数据库):

SELECT current_date - INTERVAL 12 MONTH;

返回:

near "12": syntax error



我能得出的最接近的结果是一些非常简单的数学运算,它只适用于年份,并去除了所有其余的日期信息:

SELECT current_date - 1;

返回:

2020



谁能帮我弄清楚如何在 Django SQL Explorer 中返回今天日期前 12 个月的日期?

SELECT current_date
SELECT current_date - [12 MONTH];

应该返回:

2021-10-02
2020-10-02

提前致谢!

【问题讨论】:

标签: sql django sqlite date date-arithmetic


【解决方案1】:

我怀疑你使用的是 SQLite 而不是 MySql,在这种情况下你想要:

SELECT date(CURRENT_DATE, '-12 month')

或者:

SELECT date(CURRENT_DATE, '-1 year')

【讨论】:

    【解决方案2】:

    您必须在 MySQL 语法中使用 DATE_SUB 函数。例如:

    SELECT DATE_SUB('2021-10-02', INTERVAL 1 YEAR);

    SELECT DATE_SUB('2021-10-02', INTERVAL 12 MONTH);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-11
      • 1970-01-01
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多