MySQL自學篇(十)——日期函數,mysql自學日期函數
日期和時間函數(1)擷取當前日期的函數和時間的函數
CURDATE()和CURRENT_DATE()函數,擷取當前日期
select current_date(),curdate(),curdate()+0;
curdate()+0 表示將目前時間轉化為數值型
CURTIME()和CURRENT_TIME()擷取目前時間
select curtime(),current_time(),current_time()+0;
current_time()+0 表示將目前時間轉化為數值型
(2)擷取日期+時間的函數
CURRENT_TIMESTAMP(),LOCALTIME(),NOW(),SYSDATE()4個函數的作用相同,都是用於擷取當前日期和時間
select current_timestamp(),localtime(),now(),sysdate();
(3)UNIX時間戳記函數
UNIX_TIMESTAMP(date)若無參數調用,則返回一個UNIX時間戳記作為不帶正負號的整數。若用date來調用UNIX_TIMESTAMP(),它會將參數值以‘1970-01-01 00:00:00’GMT後的秒數的形式返回。
select unix_timestamp(),unix_timestamp(now()),now();
(4)返回UTC日期的函數和返回UTC時間的函數
UTC_DATE()返回當前UTC日期值,格式為‘YYYY-MM-DD’或者‘YYYYMMDD’,具體格式取決於函數是否用在字串或數字語境中。
select utc_date(),utc_date()+0;
(5)擷取月份的函數MONTH(date)和MONTHNAME(date)
select month(now()),monthname(now());
(6)擷取星期的函數DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d)
select dayname(now()),dayofweek(now()),weekday(now());
(7)擷取星期的函數WEEK(d)和WEEKOFYEAR(d)
select week(now()),weekofyear(now());
(8)擷取天數的函數DAYOFYEAR()和DAYOFMONTH()
select dayofyear(now()),dayofweek(now());
(9)擷取年份、季度、小時、分鐘和秒數的函數
select year(now()),quarter(now()),hour(now()),minute(now()),second(now());
(10)擷取日期的指定值的函數EXTRACT(type FROM date)
select extract(year from now()),extract(year_month from now());
(11)時間和秒數的轉換函式TIME_TO_SEC(time)
select time_to_sec('23:23:00');
(12)將日期和時間格式化的函數
DATE_FORMATE(date,formate)根據formate指定的格式顯示date值。主要formate格式如下表所示。
DATE_FORMATE時間日期格式
說明符 |
說明 |
%a |
工作日的縮寫名稱 |
%b |
月份的縮寫名稱 |
%c |
月份 |
%D |
帶有英語尾碼的該月日期 |
%d |
該月日期,數字形式 |
%e |
該月日期,數字形式 |
%f |
微妙 |
%H |
以兩位元表示24小時 |
%h,%I |
以兩位元表示12小時 |
%i |
分鐘,數字形式 |
%j |
一年中的天數 |
%k |
以24小時 |
%l |
以12小時 |
%M |
月份名稱 |
%m |
月份,數字形式 |
%p |
上午AM或下午PM |
%r |
時間,12小時制 |
%S,%s |
以兩位元表示秒 |
%T |
時間,24小時制 |
%U |
周,周日為每周的第一天 |
%u |
周,周一為每周的第一天 |
%V |
周,周日為每周的第一天 |
%v |
周,周一為每周的第一天 |
%W |
工作日名稱 |
%w |
一周中的每日 |
%X |
該周的年份,其中周日為每周的第一天 |
%x |
該周的年份,其中周一為每周的第一天 |
%Y |
4位元形式表示年份 |
%y |
2位元形式表示年份 |
%% |
‘%’文字字元 |
select date_format('2015-01-04','%W%M%Y') as col1;