【MySql】日期时间
【MySql】日期时间
======================================
1、查询条件
2、常用函数
3、整数转日期
4、日期函数
======================================
有 datetime 类型字段 publish_time
1、查询条件
库中存储 2004-02-04 格式 where DATE(publish_time) = '2004-02-04'
库中存储 08:08:08 格式 where DATE(publish_time) = '08:08:08'
库中存储 2004-02-04 08:08:08 格式 where TIMESTAMP(publis_time) = '2004-02-04 08:08:08'
2、常用函数
TO_DAYS(NOW()) 返回天数。10天以内的数据 where TO_DAYS(NOW()) - TO_DAYS(publish_time) <= 10
DAYOFWEEK(NOW()) 返回星期索引。1=星期天、2=星期一、3=星期二、4=星期三、5=星期四、6=星期五、7=星期六
WEEKDAY(NOW()) 返回星期索引。0=星期天、1=星期一、2=星期二、3=星期三、4=星期四、5=星期五、6=星期六
DAYOFMONTH(NOW()) 返回月份中日。在1到31范围内
DAYOFYEAR(NOW()) 返回年中的日数, 在1到366范围内
MONTH(NOW()) 返回月份,在1到12范围内
DAYNAME(NOW()) 返回星期英文全名
MONTHNAME(NOW()) 返回月份英文全名
QUARTER(NOW()) 返回季度,在1到4范围内
3、整数转日期(10数字)
DATE_FORMAT(FROM_UNIXTIME(pubdate), '%Y-%m-%d %H:%i:%s')
FROM_UNIXTIME(pubtime, '%Y-%m-%d %H:%i:%s')
4、日期函数
addtime()
为日期加上指定秒数
select addtime(now(),1); -- 加1秒
adddate()
有两种用法,第二个参数直接填数字的话是为日期加上指定天数,填interval的话是为日期加上指定的interval时间
select adddate(now(),1); -- 加1天 select adddate(now(), interval 1 day); -- 加1天 select adddate(now(), interval 1 hour); --加1小时 select adddate(now(), interval 1 minute); -- 加1分钟 select adddate(now(), interval 1 second); -- 加1秒 select adddate(now(), interval 1 microsecond); -- 加1毫秒 select adddate(now(), interval 1 week); -- 加1周 select adddate(now(), interval 1 month); -- 加1月 select adddate(now(), interval 1 quarter); -- 加1季 select adddate(now(), interval 1 year); -- 加1年
date_add()
为日期增加一个时间间隔,这个只能使用interval时间作为参数,用法和adddate()一致
select date_add(now(), interval 1 day); -- 加1天 select date_add(now(), interval 1 hour); -- 加1小时 select date_add(now(), interval 1 minute); -- 加1分钟 select date_add(now(), interval 1 second); -- 加1秒 select date_add(now(), interval 1 microsecond); -- 加1毫秒 select date_add(now(), interval 1 week); -- 加1周 select date_add(now(), interval 1 month); -- 加1月 select date_add(now(), interval 1 quarter); -- 加1季 select date_add(now(), interval 1 year); -- 加1年
subtime()
为日期减去指定秒数
select subtime(now(), 1); -- 减1秒
subdate()
与adddate()函数用法一致,有两种用法,第二个参数直接填数字的话是为日期减去指定天数,填interval的话是为日期减去指定的interval时间
select subdate(now(),1); -- 减1天 select subdate(now(), interval 1 day); -- 减1天 select subdate(now(), interval 1 hour); --减1小时 select subdate(now(), interval 1 minute); -- 减1分钟 select subdate(now(), interval 1 second); -- 减1秒 select subdate(now(), interval 1 microsecond); -- 减1毫秒 select subdate(now(), interval 1 week); -- 减1周 select subdate(now(), interval 1 month); -- 减1月 select subdate(now(), interval 1 quarter); -- 减1季 select subdate(now(), interval 1 year); -- 减1年
date_sub()
与date_add()函数用法一致,为日期减去一个时间间隔,这个只能使用interval时间作为参数
select date_sub(now(), interval 1 day); -- 减1天 select date_sub(now(), interval 1 hour); --减1小时 select date_sub(now(), interval 1 minute); -- 减1分钟 select date_sub(now(), interval 1 second); -- 减1秒 select date_sub(now(), interval 1 microsecond); -- 减1毫秒 select date_sub(now(), interval 1 week); -- 减1周 select date_sub(now(), interval 1 month); -- 减1月 select date_sub(now(), interval 1 quarter); -- 减1季 select date_sub(now(), interval 1 year); -- 减1年
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南