首页 > 代码库 > 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;
MySQL自学篇(十)——日期函数