如何找到MySQL的最后一个季度

时间:2014-03-16 07:47:05

标签: mysql date

这应该是一个简单的问题,但我仍然无法得到一些有效的结果。 我正在使用Workbench。 我试图从当前日期开始的最后一个季度。

当我查询当前季度时,我得到了正确答案:

SELECT quarter(curdate());
1

但是当我想要上一季度时:

SELECT (quarter(curdate())-1);

我仍然得到1。

我也尝试过(在线发现):

SELECT LAST_QTR(curdate());

但我明白了:

Error code: 1305. FUNCTION LAST_QTR does not exist

有人可以帮忙解决这个问题吗?提前谢谢。

4 个答案:

答案 0 :(得分:3)

试试这个,看看这是否适合你。

SELECT quarter(curdate() - INTERVAL 1 QUARTER);

答案 1 :(得分:1)

试试这个:

SELECT IF((QUARTER(curdate())-1) = 0, 4, QUARTER(curdate()) - 1) as last_quarter

如果季度大于1,则返回当前季度 - 1。否则,如果当前季度为1则返回4.

答案 2 :(得分:1)

获取上个季度的结束日期

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

答案 3 :(得分:0)

这是在MySql或WordPress中获取所有上一个/最后一个季度记录的方法。

注意:visited是表中的日期时间列

"SELECT * FROM tbl_users WHERE QUARTER(visited) = QUARTER(curdate() - INTERVAL 1 quarter)"