MySQL學習記錄--操作時間資料

來源:互聯網
上載者:User

標籤:blog   log   定時   ext   timestamp   last   計算   strong   nes   

1、返回日期的時間函數

  date_add() : 可以為指定日期增加/減少任意一段時間間隔。下面舉例將當前日期增加一個月和減少一個月

mysql> select date_add(current_date(), interval 1 month) as add_one_month;+---------------+| add_one_month |+---------------+| 2016-12-30    |+---------------+1 row in set (0.00 sec)mysql> select date_add(current_date(), interval -1 month) as reduce_one_month;+------------------+| reduce_one_month |+------------------+| 2016-10-30       |+------------------+1 row in set (0.00 sec)

  格式:date_add(‘要修改的時間‘,interval 數量 時間間隔類型), 下面展示一些常見的時間間隔類型

間隔名稱 描述
Second 秒數
Minute 分鐘數
Hour 小時數
Day 天數
Month 月份
Year 年份
Minute_second 分鐘和秒,以":"分隔
Hour_second 小時、分鐘和秒,以":"分隔
Year_month 年份和月份,以"-"分隔

   下面對時間間隔後三種舉例:

  ①、將目前時間增加3小時20分鐘

mysql> select current_timestamp;  -- 目前時間+---------------------+| current_timestamp   |+---------------------+| 2016-11-30 15:22:46 |+---------------------+1 row in set (0.00 sec)mysql> select date_add(current_timestamp, interval ‘3:20:00‘ Hour_second) as add_HourSecond;+---------------------+| add_HourSecond      |+---------------------+| 2016-11-30 18:42:49 |+---------------------+1 row in set (0.00 sec)

  ②、將日期‘2000-01-01‘增加16年10個月

mysql> select date_add(‘2000-01-01‘, interval ‘16-10‘ Year_month) as add_Year_month;+----------------+| add_Year_month |+----------------+| 2016-11-01     |+----------------+1 row in set (0.00 sec)

  

函數last_day() : 返回所求月份的最後一天

  舉例:求"2016-01-01"該月的最後一天

mysql> select last_day(‘2016-01-01‘);+------------------------+| last_day(‘2016-01-01‘) |+------------------------+| 2016-01-31             |+------------------------+1 row in set (0.00 sec)

 無論提供的參數是date型還是datetime型,last_day()函數都將返回一個date值

 

2、返回字串的時間函數

  dayname() : 返回所求的日期是星期幾

  舉例:求當前日期是星期幾

mysql> select dayname(current_date);+-----------------------+| dayname(current_date) |+-----------------------+| Wednesday             |+-----------------------+1 row in set (0.00 sec)

  year()、month()、day()、time()...提取部分時間

mysql> select year(current_date),month(current_date),day(current_date),time(current_timestamp);+--------------------+---------------------+-------------------+-------------------------+| year(current_date) | month(current_date) | day(current_date) | time(current_timestamp) |+--------------------+---------------------+-------------------+-------------------------+|               2016 |                  11 |                30 | 16:12:57                |+--------------------+---------------------+-------------------+-------------------------+1 row in set (0.00 sec)

 

3、返回數位時間函數

  datediff() : 計算兩個日期相隔的天數

  舉例:計算"2000-01-01"距離現在有多少天

mysql> select datediff(‘2016-11-30‘, ‘2000-01-01‘);+--------------------------------------+| datediff(‘2016-11-30‘, ‘2000-01-01‘) |+--------------------------------------+|                                 6178 |+--------------------------------------+1 row in set (0.00 sec)

  註:datediff()函數會忽略參數中的時鐘值。

    sql server 同樣具備datediff()函數,但可以在指定時間間隔的類型(如年、月、日、小時等)。sql server 實現上一個例子的方法:

select datediff(day, ‘2016-11-30‘, ‘2000-01-01‘);

 

MySQL學習記錄--操作時間資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.