因为快要毕业了,也去过几家公司面试,其中去过一家面试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日期函数在对你处理日期比较问题的作用了吧?
编辑推荐:
- 常用的mysql日期函数02-28
- 了解sql语句中where和having的区别02-28
- MySQL数据库优化的简单方法02-28
- 解析mysql数据库设计技巧02-28
- 解析MySQL高速缓存启动方法及参数(query_cache_size)02-28
- 详解mysql慢查询02-28
- 了解mysql中select语句操作实例02-28
- MySQL索引什么情况下创建02-28
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 常用的mysql日期函数
常用的mysql日期函数
26-02-28 - MySQL数据库优化的简单方法
MySQL数据库优化的简单方法
26-02-28 - 解析mysql数据库设计技巧
解析mysql数据库设计技巧
26-02-28 - 解析MySQL高速缓存启动方法及参数(query_cache_size)
解析MySQL高速缓存启动方法及参数(query_cache_size)
26-02-28 - 详解mysql慢查询
详解mysql慢查询
26-02-28 - 了解mysql中select语句操作实例
了解mysql中select语句操作实例
26-02-28 - MySQL索引什么情况下创建
MySQL索引什么情况下创建
26-02-28 - 简单介绍Mysql的SQL服务器模式
简单介绍Mysql的SQL服务器模式
26-02-28 - MySQL和Django在Ubuntu14.04下的环境部署全过程
MySQL和Django在Ubuntu14.04下的环境部署全过程
26-02-28 - Ubuntu下MySQL中文乱码的问题解决办法介绍
Ubuntu下MySQL中文乱码的问题解决办法介绍
26-02-28
