你如何计算MYSQL中每季度的天数?

时间:2014-08-27 15:38:27

标签: mysql

我需要帮助计算MYSQL中的以下内容

基于MYSQL中当前日期的季度天数? 如果今天是2014年8月27日 - 这个季度有多少天?

另外,如何计算MYSQL中两个日期之间一季度的天数? 如果用户选择3/1/2014 - 8/27/2014这三个季度的总天数是多少?

2 个答案:

答案 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