Heim > Datenbank > MySQL-Tutorial > mysql惯用的日期函数汇总

mysql惯用的日期函数汇总

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-07 16:23:59
Original
1122 Leute haben es durchsucht

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')
Nach dem Login kopieren

?

?

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
So ändern Sie MySQL in MySQL
Aus 1970-01-01 08:00:00
0
0
0
MySQL stoppt den Prozess
Aus 1970-01-01 08:00:00
0
0
0
MySQL-Startfehler unter Centos
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage