日期和时间函数
(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;
?