日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql存储过程时间_mysql时间操作函数和存储过程

發(fā)布時(shí)間:2024/10/8 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql存储过程时间_mysql时间操作函数和存储过程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

因?yàn)闃I(yè)務(wù)須要統(tǒng)計(jì)一批數(shù)據(jù)。用到關(guān)于mysql的時(shí)間操作函數(shù)和存儲(chǔ)過(guò)程,問(wèn)題已經(jīng)基本解決。把過(guò)程記錄下:

1. mysql的語(yǔ)句中不支持直接用循環(huán)。循環(huán)僅僅能在存儲(chǔ)過(guò)程中使用。

2. 寫為文件時(shí),注意一些隱藏的字符,造成語(yǔ)法錯(cuò)誤。本例中凝視中包括一些不可見字符。沒有找到。

3. 存儲(chǔ)過(guò)程中盡量多使用分好,切割開語(yǔ)句。

本例中 drop一句最初沒有寫。導(dǎo)致一直有錯(cuò)。

4. 時(shí)間函數(shù)非常強(qiáng)大,能夠避免一些工作。http://www.cnblogs.com/ggjucheng/p/3352280.html

5. sql語(yǔ)句的優(yōu)化非常重要。本例中僅攻克了問(wèn)題,但數(shù)據(jù)量太大。存儲(chǔ)過(guò)程執(zhí)行了非常久。期待有人能幫忙優(yōu)化while語(yǔ)句中的優(yōu)化。

以下貼代碼了:

--*將表test.transport20140901表中的數(shù)據(jù)依照每五分鐘一個(gè)間隔,統(tǒng)計(jì)各個(gè)路口的車流數(shù)量r

--*@start_time 起始時(shí)間 是整點(diǎn)時(shí)間的五分鐘間隔 如 2014-09-01 00:20:00

--*@end_time 終止時(shí)間 是整點(diǎn)的五分鐘間隔且大于start_time 如 2014-09-01 01:00:00

--*統(tǒng)計(jì)范圍包括起始時(shí)間,但不包括終止時(shí)間

delimiter $

drop procedure transport_status;

create procedure transport_status(start_time datetime,end_time datetime)

begin

declare mid_start_time datetime;

declare mid_end_time datetime;

set mid_start_time=start_time;

set mid_end_time=date_add(start_time, interval 5 minute);

lab: while mid_start_time < end_time do

insert into

test.transport_status(stamp,stamp_time,address,car_count)

(select

FLOOR(UNIX_TIMESTAMP(time)/300) as stmp,

date_format(mid_end_time,'%Y-%m-%d %H:%i:%s') as tm,

address,

count(address) as cnt

from

test.transport20140901

where

time > date_add(mid_start_time, interval -1 second)

and time < mid_end_time

group by address);

set mid_start_time=date_add(mid_start_time, interval 5 minute);

set mid_end_time=date_add(mid_end_time, interval 5 minute);

end while lab;

end $

delimiter ;

call transport_status("2014-09-01 00:00:00","2014-09-2 00:00:00");

總結(jié)

以上是生活随笔為你收集整理的mysql存储过程时间_mysql时间操作函数和存储过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。