教程集 www.jiaochengji.com
教程集 >  数据库  >  mysql  >  正文 mysql日期函数用法小结

mysql日期函数用法小结

发布时间:2016-04-06   编辑:jiaochengji.com
分享几个mysql日期函数,平时常用的mysql日期函数,有需要的朋友参考下。

几个mysql日期函数:
1,UNIX_TIMESTAMP()
该函数返回1970到现在的秒数,括号内也可以带参数,即返回1970年到指定时间段的秒数,注意是秒数,常用java的兄弟们需要注意,因为java中的System.currentTimeMillis()返回的是毫秒数
 
2,date_format()
例子 date_format(now(), '%Y-%m-%d %H:%i:%s') 将当前时间转换成某种时间格式的字符串,当然now()函数的默认格式已经是 '%Y-%m-%d %H:%i:%s'
 
3,FROM_UNIXTIME()
FROM_UNIXTIME(1390357150,'%Y-%m-%d'); 将返回1970年到指定时间段的秒数,转换成固定的时间格式,
这个适用于后台日期存放的是秒数,前台展示时需要的是具体的某种日期的应用
 
4,current_date()
这个函数的作用是返回当前的日期,但是这个函数在日期做减法时是会有Bug的,
以今天为例:
select current_date();
2014-01-24
我想知道今天以前的30天的日期
select current_date()-30;
20140094
显然不是我们想得到的值,经过测试发现当涉及到月份或年份的退位进位时就会出错
对于求今天之前的三十天,可以利用毫秒数做
select FROM_UNIXTIME(UNIX_TIMESTAMP(current_date())-24*60*60*30,'%Y-%m-%d');
利用以上函数,就可以做简单的基于在线数量的统计,
相关表
  user_online_count_tbl
相关字段
  user_online_num(当前用户在线数)
  online_statistic_time(统计在线数时的时间)
 
5,基于最近10天的平均在线用户数统计
 

复制代码 代码示例:
select  
  sum(user_online_num)/count(online_statistic_time) as "avg_online_num", 
  FROM_UNIXTIME(online_statistic_time,'%Y-%m-%d') as "dayTime" 
from     
  user_online_count_tbl 
where 
  FROM_UNIXTIME(online_statistic_time,'%Y-%m-%d') <= date_format(current_date(),'%Y-%m-%d') 
and  
  FROM_UNIXTIME(online_statistic_time,'%Y-%m-%d') >= FROM_UNIXTIME(UNIX_TIMESTAMP(current_date())-24*60*60*10,'%Y-%m-%d') 
group by 
   FROM_UNIXTIME(online_statistic_time,'%Y-%m-%d') 

您可能感兴趣的文章:
mysql日期函数用法小结
mysql日期加减
mysql获取当前系统时间及当前日期方便查询判定
MySql计算日期的时间差函数TIMESTAMPDIFF用法
mysql日期时间函数大全 mysql函数大全
php mysql日期操作的小例子
mysql日期时间函数示例
MySQL日期函数详解
mysql日期查询操作代码
mysql获取系统当前时间的实例学习

关键词: mysql日期  日期函数   
[关闭]
~ ~