CONCAT函数
mod函数
例子1:CONCAT函数,使数据名称不再重复。见下图:
详解:concat函数将字符串参数串联到一起。如:concat(‘’a’’,’’b’’,’’c’’) 结果为:abc 上面的例子,使用comcat函数将池塘名称不重复的插入。
详解:mod函数返回余数。上面的例子,js_device_info_T表中设备类型字段,0代表采集器,1代表控制器,i mod 2 返回的余数只有0和1两种可能。从而实现插入的设备数据呈现不同类型。
例子3:在一层while循环中使用mod 和 div函数,date_format函数使数据插入不同的时间戳
详解:例子3达成的目的是:1000台设备每10分钟上报一条数据,插入js_device_online_t表,模拟一天的数据量。1、time = DATE_FORMAT(time+ interval 10 MINUTE,’%Y-%m-%d %H:%i:%s’); date_format函数将时间戳字段格式化为:%Y-%m-%d %H:%i:%s形式。Time+interval 10 minute参数,可模拟时间戳每10分钟插入一条,并且达到50分钟后自动进位1小时的功能。效果如图:
2、mod函数取余数,div函数取整数(1)while i < 144 * 1000 do 每10分钟上报一条数据,一台设备一天上报144条数据。模拟1000台设备上报一天的数据量。所以循环144*1000次
(2)set j = i div 144 i从0开始循环到144时,j=1 insert into js_device_online_t values(j+1,’20′,’10′,’220′,’220′,’15′,DATE_FORMAT(time+ interval 10 MINUTE,’%Y-%m-%d %H:%i:%s’)); 这样保证j+1=1时,循环144次,插入144条数据。 j+1=2 时,再循环144次,插入144条数据。 达到每台设备每天插入144条数据的效果。
(3)if i mod 144 = 0 then set time = ’2013-11-18 23:50:00′; 为了保证所有上报的数据都在一天,所以每到144的整数倍都将时间 重新置为23:50:00。这样当time+10分钟时,变成00:00:00
CONCAT函数
MOD函数