MySQL中日期函数NOW()和SYSDATE()都表示当前日期和时间,NOW()取的是语句开始执行的时间,SYSDATE()取的是语句执行过程中动态的实时时间。
select NOW(),sysdate(),SLEEP(3),now(),sysdate();
1、DATE_ADD(date,INTERVAL expr type)
– 向日期增加指定的时间间隔 date是合法的日期表达式,
– expr参数是希望添加的时间间隔
– type参数值:second、hour、day、minute、week、month、year等
select NOW(),DATE_ADD(NOW(),INTERVAL 2 day);
2、AddDate() 增加一个日期,天或周等.
– (1)、增加天数。
select now(),ADDDATE(now(),6); – 增加6天
– (2)、当第二个参数INTERVAL激活后,ADDDATE()是DATE_ADD()的同义词。
select NOW(),AddDATE(NOW(),INTERVAL 3 day);
3、CurDate()返回当前日期
select CURDATE(); – 2017-05-30
4、CurTime()返回当前时间
select curtime(); – 11:21:57
5、Date()返回日期时间的日期部分
select date(now());
6、DateDiff()返回两个日期之差
select DATEDIFF(‘2017-05-31 11:27:39’,’2017-05-30 11:27:41’);
– 结果为 1
select DATEDIFF(‘2017-05-31’,’2017-05-30’); – 结果为 1
7、Date_Format(); 返回一个格式化的日期或者时间串
– 2017年5月30日11:53:05
select DATE_FORMAT(NOW(),’%m-%d-%y’); – 05-30-17
select DATE_FORMAT(NOW(),’%m-%d-%Y’); – 05-30-2017
select DATE_FORMAT(NOW(),’%m-%d-%y %T %W’);
– 05-30-2017 12:06:45 Tuesday
8、Day()返回一个日期的天数部分
select day(NOW());
9、DayOfWeek()返回一个日期对应的星期的第几天。
周日是星期的第一天
select DayOfWeek(now());
10、hour() 返回一个时间的小时部分
>select hour(now()); -- 11点
>select hour('8:32:11'); -- 8点
minute()返回一个时间的分钟部分
>select minute(now()); -- 42 当前时间的分钟数
>select minute('8:32:11'); -- 32
month()返回一个日期的月份部分
>select month(now()); -- 5 当前月份
>select month('2018-05-12 8:32:11'); -- 5
>select month('2018-5-3 8:32:11'); -- 5
second()返回一个时间的秒部分
>select second(now()); -- 47 当前实时秒数
>select second('2018-05-12 8:32:11'); -- 11 秒
time()返回一个日期时间的时间部分
>select time(now()); -- 11:46:38 当前实时时间的时间部分
year()返回一个时间的小时部分
>select year('2018-5-3 8:32:11'); -- 2018