Mysql日期函数

在问答模块看到这个问题,顺道复习了一下Mysql的日期函数。
先说下题目:
Java从数据库中按日期获取那一天的记录数量。
我想用Java要从Mysql数据里面,通过日期来获得当天的数据记录数量,一个数字,比如,获取今天的数据库的新增数据的数量,获取昨天的数据库中的新增的数据数量
数据库格式:这里写图片描述

解决方案:这里写图片描述

Mysql函数:
SUBSTR(字段名,从哪个字符开始,截取长度)
now()当前时间
ADDDATE(date-expression, INTERVAL expr type)操作时间
给个栗子:
给一个日期加2小时10分钟

SELECT ADDDATE('2011-09-11 2:42:36', INTERVAL '2:10' HOUR_MINUTE) AS NewDate

或者省略写法

SELECT '2011-09-11 2:42:36' + INTERVAL '2:10' HOUR_MINUTE AS NewDate

结果
NEWDATE

2011-09-11 04:52:36

然后有了个新需求,让我多学习一点。
统计一周的语句和一个月的语句。
这里写图片描述
这么写好像不是很严谨。不清楚需求是上一周还是距离今天往前7天。我写的就是往前数7天了。
DATEDIFF()算日期差。

好像就这么结束不太好。再去别的地方搞点来吧。

WEEKDAY(date) 返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。

mysql> select WEEKDAY('1997-10-04 22:23:00'); 

-> 5

DAYOFYEAR(date) 返回date是一年中的第几日(在1到366范围内)

mysql> select DAYOFYEAR('1998-02-03'); 

 -> 34

WEEK(date,first)返回date是一年的第几周(first默认值0,first取值1表示周一是周的开始,0从周日开始)

mysql> select WEEK('1998-02-20'); 

-> 7

MONTH(date) 返回date中的月份数值
YEAR(date) 返回date的年份(范围在1000到9999)
HOUR(time) 返回time的小时数(范围是0到23)

mysql> select HOUR('10:05:03'); 

-> 10
MINUTE(time) 返回time的分钟数(范围是0到59)
DATE_FORMAT(date,format) 根据format字符串格式化date值

差不多就这些吧,多了也记不住了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值