1. 程式人生 > >MYSQL學習筆記三:日期和時間函數

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

div content minute name top fonts table hmm 指定

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學習筆記三:日期和時間函數