日期函数
1.now()
获取当前日期+时间,可以i使用此函数
select NOW(),sleep(3),NOW();
获得结果:
2021-11-10 09:39:33 ,0 , 2021-11-10 09:39:33
2.sysdate()
获得当前日期+时间(date + time)函数:sysdate()
sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值
select NOW(),sleep(3),now(),sleep(3),sysdate()
获得结果:
2021-11-10 09:39:33 ,0 , 2021-11-10 09:39:33,2021-11-10 09:39:36
3.current_timestamp,current_timestamp(),unix_timestamp()
获取当前时间戳函数
select current_timestamp,current_timestamp(),UNIX_TIMESTAMP();
4.date_format(date, format)
日期格式转换
select date_format(NOW(),"%Y%m%d%H%i%s");
结果:
20211110095915
5.time_format(time,format)
时间格式转换
select current_time,time_format(current_time,"%H%i%s");
结果:
10:00:41 , 100041
6.str_to_date(str,date) 字符串转换为日期
select str_to_date('08.09.2008', '%m.%d.%Y');
结果:
2008-08-09
7.to_days()
返回从0年开始到参数日期的天数
select to_days("2021-11-11");
-- 查询昨天创建的数据
select * from goms_scheduling where TO_DAYS(now()) - TO_DAYS(FROM_UNIXTIME(update_time,"%Y-%m-%d %H:%i:%s")) <1
8.makedate(year,dayofyear)
该函数用于根据年份和天数值创建和返回日期,天数必须大于0,否则他将返回null值
year:指要创建的年份
Dayofyear:指创建一年中的日子
返回 基于年份和天数的日期
select MAKEDATE("2021","32");
结果:
2021-02-01
9.maketime(hour,minute,second)
返回根据小时,分钟和秒参数计算出的时间值
select maketime(10,10,10);
结果:
10:10:10
10.unix_timestamp(),from_unixtime()
select UNIX_TIMESTAMP();-- 1636511479
select UNIX_TIMESTAMP("2020-11-11"); -- 1605024000
select from_unixtime(1218290027); -- 2008-08-09 21:53:47
select from_unixtime(1218169800, '%Y-%m-%d %H:%i:%s'); -- 2008-08-08 12:30:00
```## 标题
#### 11.date_add(),date_sub()
date_add() 增加日期间隔
date_sub() 减去日期间隔
```mysql
set @dt = now();
select DATE_ADD(@dt,INTERVAL 1 day);