MYSQL學習筆記三:日期和時間函數

來源:互聯網
上載者:User

標籤:str   timestamp   tracking   位置   format   私人   nts   amp   efault   

MYSQL學習筆記三:日期和時間函數

1. 擷取當前日期的函數和擷取目前時間的函數

/*擷取當前日期的函數和擷取目前時間的函數。將日期以‘YYYY-MM-DD‘或者’YYYYMMDD’格式返回

*/

#CURDATE()與CURRENT_DATE()作用同樣,返回同樣的系統當前日期

#CURDATE()+0則將當前日期值轉換成數實值型別

SELECT CURDATE(), CURRENT_DATE(), CURDATE()+0;

 

/* CURTIME()和CURRENT_TIME()作用同樣。將目前時間以‘HH:MM:SS‘或者’HHMMSS’格式返回

*/

#CURRENT_TIME()+0表示以數值形式HHMMSS格式顯示

SELECT CURTIME(), CURRENT_TIME(), CURRENT_TIME()+0;

 

 

2. 擷取當前日期與時間的函數

#從結果能夠看出。以下四個函數的功能同樣

SELECT CURRENT_TIMESTAMP(),LOCALTIME(),NOW(),SYSDATE();

 

 

3. 擷取月份的函數

#MONTH(date):函數返回date相應的月份,範圍從1~12

#MONTHNAME(date):函數返回日期date相應月份的英文全名,如March

SELECT MONTH(NOW()), MONTHNAME(NOW());

 

 

4. 擷取星期的函數

#DAYNAME(d):返回d相應的工作日的英文名稱,如Sunday, Monday等

#DAYOFWEEK(d):返回d相應的一周中的索引(位置)。1表示周日,2表示周一,...,7表示周六

#WEEKDAY(d):返回d相應的工作日的索引。

0表示周一,1表示周二,...6表示周日

SELECT DAYNAME(NOW()), DAYOFWEEK(NOW()), WEEKDAY(NOW());

 

 

5. 擷取星期數的函數

#WEEK(d):計算日期d是一年中的第幾周。

#WEEK(d,mode):指定mode是否起始於周日或者周一,若mode被省略。則使用default_week_format系統自變數的值0

#WEEK函數中Mode參數取值

Mode

一周的第一天

範圍

Week 1為第一周

0

周日

0~53

本年度中有一個周日

1

周一

0~53

本年度中有3天以上

2

周日

1~53

本年度中有一個周日

3

周一

1~53

本年度中有3天以上

4

周日

0~53

本年度中有3天以上

5

周一

0~53

本年度中有一個周一

6

周日

1~53

本年度中有3天以上

7

周一

1~53

本年度中有一個周一

 

#WEEKOFYEAR(d):計算某天d位於一年中的第幾周,範圍是1~53。相當於WEEK(d,3)

SELECT WEEK(NOW()), WEEK(NOW(),0), WEEK(NOW(),1), WEEKOFYEAR(NOW()), WEEK(NOW(),3);

 

 

6. 擷取天數函數

#DAYOFYEAR(d):返回d是一年中的第幾天,範圍從1~366

#DAYOFMONTH(d):返回d是一個月中的第幾天。範圍是1~31

SELECT DAYOFYEAR(NOW()), DAYOFMONTH(NOW());

 

 

 

7. 擷取年份、季度、月、小時、分鐘和秒鐘的函數

#YEAR(date):返回date相應的年份,範圍是1970~2069

#QUARTER(date):返回date相應的一年中的季度,範圍1~4

#MONTH(date):函數返回date相應的月份,範圍從1~12

#MONTHNAME(date):函數返回日期date相應月份的英文全名。如March

#HOUR(time):返回time相應的小時數。範圍是0~24

#MINUTE(time):返回time相應的分鐘數,範圍是從0~59

#SECOND(time):返回time相應的秒數,範圍是0~59

SELECT

YEAR(CURDATE()) as yr,

QUARTER(CURDATE()) as qt,

MONTH(CURDATE()) as mon,

MONTHNAME(CURDATE()) as mon_name,

HOUR(CURTIME()) as hrs,

MINUTE(CURTIME()) as min,

SECOND(CURTIME()) as snd;

 

 

 

 

8. 擷取日期的指定值函數EXTRACT(type FROM date)

#用於從date中依照type提取一部分值

SELECT

EXTRACT(YEAR FROM NOW()) as year,

EXTRACT(QUARTER FROM NOW()) as quarter,

EXTRACT(MONTH FROM NOW()) as month,

EXTRACT(DAY FROM NOW()) as day,

EXTRACT(HOUR FROM NOW()) as hour,

EXTRACT(MINUTE FROM NOW()) as minute,

EXTRACT(SECOND FROM NOW()) as second,

EXTRACT(YEAR_MONTH FROM NOW()) as year_mon

;

 

 

9. 時間和秒鐘轉換函式TIME_TO_SEC(time)

#轉換公式:<小時*3600+分鐘*60+秒>

#TIME_TO_SEC(time):返回已轉化成秒的time參數

#SEC_TO_TIME(seconds):返回被轉化為小時、分鐘和秒數的seconds參數值

SELECT 

CURTIME() as time, 

TIME_TO_SEC(CURTIME()) as second,

SEC_TO_TIME(TIME_TO_SEC(CURTIME())) as time;

 


.....待續


本文尚未完畢。同於時間關係。後面會續上。謝謝大家關照!

假設你們有更好的建議,請發郵件到我私人郵箱: [email protected]

著作權@: 本文系本人原創,轉載請標明出處,謝謝!

 

 

 

 


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.