我正在尝试从今天减去日期(获取 1 个月前直到永远的报告)。到目前为止我已经尝试过
DATE_SUB(NOW(), INTERVAL 1 MONTH)
上下文如下:
SELECT contracts.currency , ROUND(SUM(
CASE
WHEN contracts.currency = 'USD' THEN contracts.value*550
WHEN contracts.currency = 'UF' THEN contracts.value*22000
ELSE contracts.value
END),2)
AS real_value
FROM contracts
WHERE currency IN ('USD','UF','CLP') AND date >=DATE_SUB(NOW(), INTERVAL 1 MONTH)
GROUP BY currency
ORDER BY currency ASC
最佳答案
看看这是否有帮助:
SELECT contracts.currency , ROUND(SUM(
CASE contracts.currency
WHEN 'USD' THEN contracts.value*550
WHEN 'UF' THEN contracts.value*22000
ELSE contracts.value
END),2)
AS real_value
FROM contracts
WHERE currency IN ('USD','UF','CLP') AND
date >=DATE_SUB(curdate(), INTERVAL 1 MONTH) AND
date <=curdate()
GROUP BY currency
ORDER BY currency ASC
如果没有,最好检查表中“日期”列的类型。有时它是 varchar 而不是日期。这是为了防止您不是创建该表的人。
关于mysql - 从当前日期减去月份 sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23620109/