我需要帮助计算MYSQL中的以下内容
基于MYSQL中当前日期的季度天数? 如果今天是2014年8月27日 - 这个季度有多少天?
另外,如何计算MYSQL中两个日期之间一季度的天数? 如果用户选择3/1/2014 - 8/27/2014这三个季度的总天数是多少?
答案 0 :(得分:1)
获取本季度的天数使用此。
SELECT
DATEDIFF(
MAKEDATE(YEAR(CURDATE()), 1) + INTERVAL QUARTER(CURDATE()) QUARTER - INTERVAL 1 DAY,
MAKEDATE(YEAR(CURDATE()), 1) + INTERVAL QUARTER(CURDATE()) QUARTER - INTERVAL 1 QUARTER
)
获取两个日期之间的区别只需使用此
SELECT DATEDIFF(2014-08-27','2014-03-01')
我不知道为什么你会在mysql中这样做..有其他语言的内置函数来做同样的操作。所以我不建议在MySQL中这样做。
答案 1 :(得分:0)
这就是我想要的:
select datediff(MAKEDATE(YEAR(CurDate()), 1)
+ INTERVAL QUARTER(CurDate()) QUARTER - INTERVAL 1 QUARTER,
case when Quarter(CurDate()) = quarter(curdate())
then CurDate() -- get the number of days in quarter up to today date
else
-- return number of days in quarter totally
DATE (DATE_SUB( DATE_ADD( CONCAT( YEAR( CurDate() ), '-01-01'),
INTERVAL QUARTER(CurDate()) QUARTER ), INTERVAL 1 DAY)) end) * -1 days_in_quarter