Home > Database > Mysql Tutorial > mysql惯用的日期函数汇总

mysql惯用的日期函数汇总

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-07 16:23:59
Original
1121 people have browsed it

mysql常用的日期函数汇总 最近做统计时经常用到的几个mysql函数: 1. UNIX_TIMESTAMP()? 该函数返回1970到现在的秒数,括号内也可以带参数,即返回1970年到指定时间段的秒数,注意是秒数,常用java的兄弟们需要注意,因为java中的System.currentTimeMillis()

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') = FROM_UNIXTIME(UNIX_TIMESTAMP(current_date())-24*60*60*10,'%Y-%m-%d')
group by
   FROM_UNIXTIME(online_statistic_time,'%Y-%m-%d')
Copy after login

?

?

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
MySQL stops process
From 1970-01-01 08:00:00
0
0
0
Error when installing mysql on linux
From 1970-01-01 08:00:00
0
0
0
phpstudy cannot start mysql?
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template