[英]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.