2014-08-27 61 views
0

我需要幫忙計算MYSQL中的以下內容如何計算MYSQL中四分之一天的時間?

根據當前日期在MYSQL中的季度數量? 如果今天是8/27/2014 - 本季度有多少天?

另外我如何計算MYSQL中兩個日期之間四分之一天的時間? 如果用戶選擇3/1/2014 - 8/27/2014這3個季度總共有多少天?

+0

你爲什麼在mysql中這樣做呢?這應該用另一種編程語言 – 2014-08-27 15:43:19

+0

來完成,以獲得兩個日期之間使用DATEDIFF的天數..'DATEDIFF(ending_date,starting_date)' – 2014-08-27 15:44:21

回答

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中使用它。

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 
+1

你沒有在問題中指定這個。你所說的只是特定季度中的天數。沒有任何事件與季度當天的天數有關。 – 2014-08-27 18:19:47

+0

此查詢幫助我。謝謝! – Robert 2017-04-06 19:09:59