繁体   English   中英

请问如何通过SQL查找季度Stemp差异?

[英]How to find quarter stemp diff by sql please?

我使用mysql,并且这些时间列并非都在同一年。

我用这个:

SELECT TIMESTAMPDIFF(QUARTER, DATE_FORMAT('2018-03-30', '%Y-%m-%d'), DATE_FORMAT('2018-09-30', '%Y-%m-%d'))
FROM DUAL;

它返回2,但这是:

SELECT TIMESTAMPDIFF(QUARTER, DATE_FORMAT('2018-03-31', '%Y-%m-%d'), DATE_FORMAT('2018-09-30', '%Y-%m-%d'))
FROM DUAL;

返回1。

现在我也想要第二个收益2,因为第一季度的3月和第三季度的9月,我只希望它返回3-1 = 2。

我现在使用这个:

SELECT (YEAR('2018-09-30') - YEAR('2018-03-31')) * 4 + (QUARTER('2018-09-30') - QUARTER('2018-03-31'))
FROM DUAL;

这是正确的方法吗? 以及如何正确执行此操作?

您只需使用QUARTER()函数即可获得正确的答案:

SELECT QUARTER('2018-09-30') - QUARTER('2018-03-31') AS QuarterDifference
FROM DUAL;

QuarterDifference
-----------------
2

这是一个演示: SQL Fiddle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM