mysql為了獲取當前時間的該月份的第一天日期和最後一天日期
阿新 • • 發佈:2018-12-10
先了解DATE_ADD()函式
定義和用法
DATE_ADD() 函式向日期新增指定的時間間隔。
語法
DATE_ADD(date,INTERVAL expr type)
date 引數是合法的日期表示式。expr 引數是您希望新增的時間間隔。
type 引數可以是下列值:
Type 值 |
---|
MICROSECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR |
SECOND_MICROSECOND |
MINUTE_MICROSECOND |
MINUTE_SECOND |
HOUR_MICROSECOND |
HOUR_SECOND |
HOUR_MINUTE |
DAY_MICROSECOND |
DAY_SECOND |
DAY_MINUTE |
DAY_HOUR |
YEAR_MONTH |
例項
假設我們有如下的表:
OrderId | ProductName | OrderDate |
---|---|---|
1 | 'Computer' | 2008-12-29 16:25:46.635 |
現在,我們希望向 "OrderDate" 新增 2 天,這樣就可以找到付款日期。
我們使用下面的 SELECT 語句:
SELECT OrderId,DATE_ADD(OrderDate,INTERVAL 2 DAY)
AS OrderPayDate FROM Orders
結果:
OrderId | OrderPayDate |
---|---|
1 | 2008-12-31 16:25:46.635 |
select last_day(curdate()); #獲取本月最後一天 select date_add(curdate(), interval - day(curdate()) + 1 day); #獲取本月第一天 select date_add(curdate() - day(curdate()) + 1, interval 1 month); #獲取下個月第一天 select day(last_day(curdate())); #獲取本月天數 select date_sub(curdate(), interval 1 month); #獲取一個月前那一天
select datediff(curdate(), date_sub(curdate(), interval 1 month)); #獲取當前時間與一個月之間的天數