这应该是一个简单的问题,但我仍然不能得到一些有效的结果。我在用工作台。我正试着从现在的约会中得到最后一个季度。
当我询问当前季度时,我得到了正确的答案:
SELECT quarter(curdate());
1但当我想要最后一个季度的时候
SELECT (quarter(curdate())-1);我还是能拿到一个。
我也试过(在网上找到的):
SELECT LAST_QTR(curdate());但我明白:
Error code: 1305. FUNCTION LAST_QTR does not exist有人能帮我解决这个问题吗?提前谢谢你。
发布于 2014-03-16 07:57:09
试试这个,看看这个是否适合你。
SELECT quarter(curdate() - INTERVAL 1 QUARTER);发布于 2014-03-16 07:56:32
试试这个:
SELECT IF((QUARTER(curdate())-1) = 0, 4, QUARTER(curdate()) - 1) as last_quarter
如果季度大于1,则返回当前季度-1。否则,如果当前季度为1,则返回4。
发布于 2019-03-12 06:05:36
获取最后一个季度的结束日期
SELECT CASE WHEN QUARTER(curdate()) = 1
THEN MAKEDATE(YEAR(CURDATE() - INTERVAL 1 YEAR), 1) + INTERVAL 4 QUARTER - INTERVAL 1 DAY
ELSE MAKEDATE(YEAR(CURDATE()),1)+ INTERVAL QUARTER(CURDATE()) - 1 QUARTER - INTERVAL 1 DAY END用所需的Curdate()替换date
https://stackoverflow.com/questions/22434336
复制相似问题