码迷,mamicode.com
首页 > 数据库 > 详细

Matlab有关数据库读取及时间项的设定

时间:2019-08-19 17:24:25      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:matlab   txt   nbsp   图片   java   where   返回   nec   data   

Matlab有关数据库的读取需下载mysql-connector-java-5.1.26-bin.jar文件放到指定位置,并修改classpath.txt相关文件,具体可网上自行查找。

看一下实例:

conn=database(‘photo‘, ‘root‘, ‘123321‘, ‘com.mysql.jdbc.Driver‘, ‘jdbc:mysql://10.48.21.000:3306/‘);
curs = exec(conn,[‘select * from photo_act_data Where DATE_FORMAT(get_time,‘‘%i‘‘)%15=0 order by get_time;‘]);
curs = fetch(curs);
ress = curs.Data;

该例访问IP为10.48.21.000的数据库,数据库名为photo,表为photo_act_data,用户名root,密码123321,端口号为3306

根据自己需求对应修改其中若干项即可;

以上mysql语句为访问该表下的数据,其中按时间每15分钟提取并排序,返回结果ress为cell类型,熟悉matlab的并不难进一步处理。

实际应用中,很可能需要提取一个时段内数据,此时主要涉及到matlab字符串中带引号子字符串的写法问题:

数据库访问语句应变为:

curs = exec(conn, ‘select  * from photo_act_data Where DATE_FORMAT(get_time,‘‘%i‘‘)%15=0 AND get_time Between ‘‘2019-07-17 00:00:00‘‘ AND ‘‘2019-07-23 23:45:00‘‘ order by get_time;‘);

注意:matlab在字符串中引用单引号时,语句中该部分字符串需要用双引号。例上面的语句输出后为:

技术图片

这样的定义语句a正符合mysql查询语句的写法,如果时间项提前定义为一个可变量,该如何写?如下:

ts=‘‘‘2019-08-01 00:00:00‘‘‘;
te=[‘‘‘‘ datestr(now,‘yyyy-mm-dd HH:MM:SS‘) ‘‘‘‘];
curs = exec(conn,[‘select * from photo_act_data Where DATE_FORMAT(get_time,‘‘%i‘‘)%15=0 AND get_time Between‘ ts ‘AND‘ te ‘order by get_time;‘]);

这个在实际应用中其实常常用到,记录!

 

Matlab有关数据库读取及时间项的设定

标签:matlab   txt   nbsp   图片   java   where   返回   nec   data   

原文地址:https://www.cnblogs.com/ClownZzb/p/11378191.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!