MySQL 日期函数

一. 显示当前日期+时间

select now(); -- 2018-11-22 09:45:01
select now() + 0 ; -- 20181122094920
select now(3); -- 2018-11-22 09:50:05.382
select SYSDATE();-- 2018-11-22 09:45:01
select current_timestamp;-- 2018-11-22 09:45:01
select current_timestamp();-- 2018-11-22 09:45:01
select LOCALTIMESTAMP;-- 2018-11-22 09:45:01
select LOCALTIMESTAMP();-- 2018-11-22 09:45:01
select LOCALTIME;-- 2018-11-22 09:45:01
select LOCALTIME();-- 2018-11-22 09:45:01

二. 显示当前日期

select CURDATE();-- 2018-11-22
select CURRENT_DATE;-- 2018-11-22
select CURRENT_DATE();-- 2018-11-22

三. 显示当前时间

select curtime();-- 09:48:41
select CURRENT_TIME;-- 09:48:41
select CURRENT_TIME();-- 09:48:41

四. 显示时间的规定部分

-- 显示当前时间的时间戳
select unix_timestamp();-- 1542853166
-- 时间的年份 select year(now());-- 2018 select year('2018-11-22 10:02:03');-- 2018
-- 时间的月份 select month(now());-- 11 select month('2018-11-22 10:02:03');-- 11
-- 时间的天数 select day(now());-- 22 select day('2018-11-22 10:02:03');-- 22
-- 时间的小时数 select hour(now());-- 10 select hour('2018-11-22 10:02:03');-- 10
-- 时间的分钟数 select minute(now());-- 2 select minute('2018-11-22 10:02:03');-- 2
-- 时间的秒数 select SECOND(now());-- 3 select SECOND('2018-11-22 10:02:03');-- 3
-- 时间为一年中的第几周 select week(now()) ;-- 46 select week('2018-11-22 10:02:03') ;-- 46
-- 时间为一年中的第几季度 select quarter(now());-- 4 select quarter('2018-11-22 10:02:03');-- 4

五. 字符串,时间,时间戳之间的转换

-- 字符串转时间
select str_to_date('2018-11-22 08:09:30', '%Y-%m-%d %h:%i:%s');
-- 时间转字符串 select date_format(now(),'%Y-%m-%d %h:%i:%s'); -- 时间转时间戳 select unix_timestamp(); -- 1218290027 select unix_timestamp(now());-- 1542853292 -- 字符串转时间戳 select unix_timestamp('2008-08-08'); -- 1218124800 select unix_timestamp('2008-08-08 12:30:00'); -- 1218169800 -- 时间戳转时间 select from_unixtime(1218169800); -- '2008-08-08 12:30:00'
-- 时间戳转字符串 select from_unixtime(1218169800, '%Y-%m-%d %h:%i:%s'); -- '2008-08-08 12:30:00'

六. 日期时间运算函数

  1. 两个日期之间相减

-- 两个日期相减(两个参数类型必须一样), 返回相差的时间数
select TIMEDIFF('2018-11-10 12:12:13', '2017-11-10 12:12:12');-- 838:59:59
-- 两个日期相减 返回的相差的天数 select DATEDIFF('2018-11-10 12:12:13', '2017-11-10 12:12:12');-- 365 select DATEDIFF('2018-11-10 12:12:13', '2017-11-10');-- 365

 2. 日期加减固定时间

-- 分别为给定的日期date加上(add)或减去(sub)一个时间间隔值expr
-- expr为加减的数值  unit为加减间隔类型
select DATE_ADD(now(), INTERVAL  expr  unit);
select DATE_SUB(now(), INTERVAL  expr  unit);

-- 给某个时间加一个小时
select DATE_ADD(now(), INTERVAL  1  HOUR);
select DATE_ADD('2018-11-12 11:01:01', INTERVAL  1  HOUR);-- 2018-11-12 12:01:01

-- 给某个时间减 减1天1小时1分1秒
select DATE_SUB(now(), INTERVAL  '1 01:01:01'  DAY_SECOND);
select DATE_SUB('2018-11-12 11:01:01', INTERVAL  '1 01:01:01'  DAY_SECOND);-- 2018-11-11 10:00:00


-- unit类型
-- HOUR 小时
-- MINUTE 分
-- SECOND 秒
-- MICROSECOND 毫秒
-- YEAR 年
-- MONTH 月
-- DAY 日
-- WEEK 周
-- QUARTER 季
-- YEAR_MONTH 年和月
-- DAY_HOUR 日和小时
-- DAY_MINUTE 日和分钟
-- DAY_SECOND 日和秒
-- HOUR_MINUTE 小时和分
-- HOUR_SECOND 小时和秒
-- MINUTE_SECOND 分钟和秒

 

posted @ 2018-11-22 11:42  三人語歌  阅读(217)  评论(0编辑  收藏  举报