matlab读mysql日期格式_Matlab有关数据库读取及时间项的设定

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;']);

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值