因为快要毕业了,也去过几家公司面试,其中去过一家面试php开发的,有道sql有优化题,当时对mysql的函数并没有研究和系统的学习,囧。。。
mysql有主要的内建函数如下:
now()
返回当前的日期和时间
curdate()
返回当前的日期
curtime()
返回当前的时间
date()
提取日期或日期/时间表达式的日期部分
extract()
返回日期/时间按的单独部分
date_add()
给日期添加指定的时间间隔
date_sub()
从日期减去指定的时间间隔
datediff()
返回两个日期之间的天数
date_format()
用不同的格式显示日期/时间
还包括一些返回日期的各个部分函数:
选取日期时间的各个部分:日期、时间、年、季度、月、日、小时、分钟、秒、微秒
set @dt = '2008-09-10 07:15:30.123456';
select date(@dt); -- 2008-09-10
select time(@dt); -- 07:15:30.123456
select year(@dt); -- 2008
select quarter(@dt); -- 3
select month(@dt); -- 9
select week(@dt); -- 36
select day(@dt); -- 10
select hour(@dt); -- 7
select minute(@dt); -- 15
select second(@dt); -- 30
select microsecond(@dt); -- 123456
这些函数对日期的比较有很大的帮助,很多新手在处理日期函数的时候不太会处理,容易出错,下面举个例子吧:
假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql:
select * from product where add_time = '2013-01-12'
对于这种语句,如果你存储的格式是yy-mm-dd是这样的,那么ok,如果你存储的格式是:2013-01-12 23:23:56这种格式你就悲剧了,这是你就可以使用date()函数用来返回日期的部分,所以这条sql应该如下处理:
select * from product where date(add_time) = '2013-01-12'
再来一个,如果你要查询2013年1月份加入的产品呢?
select * from product where date(add_time) between '2013-01-01' and '2013-01-31'
你还可以这样写:
select * from product where year(add_time) = 2013 and month(add_time) = 1
这些你该知道mysql日期函数在对你处理日期比较问题的作用了吧?
0
0
相关文章
mysql如何排查数据库性能突然下降_mysql实时状态监控
mysql如何使用CASE WHEN流程控制_mysql SQL层逻辑判断
如何用mysql实现访问统计_mysql分析项目入门
mysql如何选择正确的索引字段_mysql高基数与低基数选择
mysql如何实现消息通知_mysql未读消息统计优化
相关标签:
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
本专题围绕 C++ 在高性能系统开发中的并发控制技术展开,系统讲解多线程编程模型与线程安全设计方法。内容包括互斥锁、读写锁、条件变量、原子操作以及线程池实现机制,同时结合实际案例分析并发竞争、死锁避免与性能优化策略。通过实践讲解,帮助开发者掌握构建稳定高效并发系统的关键技术。
7
2026.03.16
本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。
114
2026.03.13
本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。
141
2026.03.12
本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。
396
2026.03.11
本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。
65
2026.03.10
本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。
111
2026.03.09
热门下载
相关下载
精品课程
最新文章




