mysql查询历史时刻数据_跨平台实时数据库查询历史数据的方法介绍
紫金桥跨平台组态软件,跨平台实时数据库共提供了两种方式查询历史数据,下面对这两种方式进行详细介绍。
一、使用函数gethisdata查询历史数据
1、函数介绍
Gethisdata用于查询数据库变量在某一时刻的历史数据。
Void GetHisData(String TagName,Real Time)
函数说明:立刻向数据库检索历史数据。
参数说明:
TagName:数据库变量名称,包括点名和参数(如A1.PV)。
Time: 实型日期时间,精确到毫秒
返回值:void,可返回整型或字符串。
2、函数使用方法
在脚本中输入如下文本:
Local.GetHisData("a1.PV",LongTime("2019/08/08 16:00:00.000"))
以上为查询2019年8月8日16点整a1.PV的历史数据。
Local指查询本地实时数据库。若要查询远程数据源,则输入 “远程数据源名. GetHisData”。例如
在脚本中输入如下文本:
test.GetHisData("b1.PV",LongTime("2019/08/08 16:00:00.000"))
以上为查询远程数据源test中,2019年8月8日16点整b1.PV的历史数据。
二、使用内置SQL查询历史数据
使用内置SQL,可以同时查询多个数据库变量在某时间范围内的历史数据。
以下详细说明通过SQL查询向导生成内置SQL语句,查询历史数据。
1、在脚本中使用查询向导
在脚本对话框中右键,点击“查询向导”。SQL查询向导
在查询向导对话框中,选择要查询的数据源及查询类型。选择本地实时数据库,查询历史数据可同时查询多个数据库变量选择要查询的字段
Value:历史数据,整型或字符串
Name:点名+点参数
DateTime:历史数据的时间
别名:查询返回的数据表中,该查询字段显示的名称。默认为空,即显示字段名。查询返回的数据表中数据的排序方式
可根据查询的字段名按照升序或降序排列。默认为不勾选,即按照上两步中查询点名的顺序排列。查询的时间及类型设置
起始时间:可输入起始时间,或使用起始时间控件。
时间长度:可输入时间长度,或使用时间范围控件。
采样类型:可选择瞬时值、所有值、拐点值、极小值或极大值。
时间间隔:表示每隔多长时间取一条数据。只在查询瞬时值时有效。
操作完成后点击“确定”,会在脚本中自动生成相应的查询语句。使用SQL查询向导生成的查询语句
生成的语句中的查询条件可以根据需要进行修改,查询返回的记录集存储在通用数据表tab中。
附录:通用数据表常见使用方法
通用数据表(ObTable)是一种结构类似于关系数据表的数据表结构,可以把它想象成由若干行和列构成的二维表。通用数据表的不同列的数据类型可以不同,但每一列中的数据类型必须相同。使用时,通常使用列名(字符串)或列号(整型)和行号(整型)来定位到具体的单元格。使用通用数据表可以用来存储一些临时数据,也可以用于临时保存实时数据库或关系库的查询结果。
使用通用数据表函数ObTable定义的对象为临时对象,作用域仅在当前脚本中。在上面的例子中:
使用ObTable定义的对象tab,仅在此鼠标脚本中可以使用。可以在上述脚本后使用其他函数调用tab中的内容。下面列举几种tab的常见使用方法,tab的基本操作请参阅函数手册。
(1)使用msg()函数输出tab中数据:
msg(tab) //弹出通用数据表tab中的数据
(2)使用tab设置表格:
Table.set(tab) //使用tab设置表格数据,表格从0行0列开始
Table.SetAt(tab, Int Row, Int Col);使用tab在指定的位置设置表格数据
(3)使用tab设置XY曲线:
FreeCurveMan.SetByTable(tab) //使用通用数据表设置曲线数据
2、在表格中使用查询向导
新建表格,在要使用查询向导的单元格上右键,点击“单元格属性/查询/脚本”,切换至“单元格”选项卡。表格单元格查询单元格选项卡
排列方式:查询返回的记录集插入到表格中时,软件提供三种排列方式:
覆盖(当前位置向右下覆盖):将查询结果记录集以当前单元格为左上角向右向下覆盖,当行列数不足时自动增加行列。
插入(在当前行之后插入新行):将查询结果记录集插入当前行之后,列数不足时自动增加列。如查询结果记录集为N行数据,则表格将在当前行后新插入N行来放置记录集。
覆盖插入(覆盖当前位置再插入新行):将查询结果记录集先覆盖当前行,然后插入新行放置记录集。如查询结果记录集为N行数据,则表格将在覆盖当前行后再新插入N-1行来放置记录集。
字段显示:设置字段是否显示,可以选择显示在表头或者不显示。
基本选项设置完成后,下一步是数据查询设置,下面分项进行详细说明。
查询描述:显示当前单元格查询内容。
删除查询:删除当前单元格查询内容。
查询向导:点击进入查询向导,使用方法与上一节相同。
表格的查询向导设置完毕后,运行工程,当打开表格所在窗口时,表格会执行已设置的查询。若要重复执行查询,可以在按钮或其他想要触发查询的脚本中,使用表格的updata函数:
Table.Update() //执行表格中的查询
三、查询历史数据注意事项
1、要查询的数据库变量一定要保存历史。
2、不建议在周期脚本中查询历史数据,频繁的查询历史会造成系统卡顿。若要同时查询多项历史,请使用内置SQL。
3、查询所有值,会返回查询时间范围内的所有历史数据;查询瞬时值,是根据查询时间范围、查询间隔返回的历史抽样数据。
例如:
近一小时内,A1.PV的值始终为50,历史数据保存方式为周期一小时保存。
若查询近一小时内的所有值,返回的记录集中只有一条数据,即:
A1.PV 50
若查询近一小时内时间间隔为十分钟的瞬时值,则返回的记录集中会有六条数据:
A1.PV 50
A1.PV 50
A1.PV 50
A1.PV 50
A1.PV 50
A1.PV 50
mysql查询历史时刻数据_跨平台实时数据库查询历史数据的方法介绍相关推荐
- mysql被格式化恢复数据_三种常见数据库文件恢复方法介绍
数据库可以说是一个数据仓库,因此在数据安全方面,每个数据库从备份到恢复,都有自己的一套方法流程.今天我们就从常见的MySQL, SQL以及Oracle三种数据库,来讲讲数据库恢复方法. 首先,最简单的 ...
- 计算机网络设置中的网关是什么设备,网关是什么_网关的作用与设置方法介绍 一看就明白...
网关是什么?对于普通的用户来说,电脑网关不是很明白的,不过接触电脑多了之后,大家也会常常会听到"网关"这个词,那么问题就来了,这个网关是什么意思呢?它又有哪些作用呢?今晚,智能手机 ...
- Zemax学习笔记(2)- 镜头数据编辑器及快速编辑器的使用方法介绍
镜头数据编辑器及快速编辑器的使用方法介绍 1.打开软件自带样例 2.状态栏四种参数 EFFL,WFNO,ENPD,POPR 2.1 EFFL: 2.2WFNO: 2.3 ENPD: 2.4 TOTR: ...
- 诛仙3怎么一直服务器维护,诛仙3游戏老是掉线怎么办_诛仙3游戏掉线解决方法介绍...
诛仙3游戏老是掉线怎么办_诛仙3游戏掉线解决方法介绍 诛仙3经常掉线但又不是网速的锅,通常玩家们会把锅甩给服务器,但是甩锅依然解决不了掉线问题,今天小编为各位玩家带来诛仙3游戏掉线怎么办解决方法,一起 ...
- mysql 随机选择数据_从MySQL随机选取数据
从MySQL随机选取数据最简单的办法就是使用"ORDER BY RAND()"; 方案一: SELECT * FROM `table` ORDER BY RAND() LIMIT ...
- mysql scrapy 重复数据_大数据python(scrapy)爬虫爬取招聘网站数据并存入mysql后分析...
基于Scrapy的爬虫爬取腾讯招聘网站岗位数据视频(见本头条号视频) 根据TIOBE语言排行榜更新的最新程序语言使用排行榜显示,python位居第三,同比增加2.39%,为什么会越来越火,越来越受欢迎 ...
- mysql schema 保存数据_在MySQL中,所有触发器的定义都保存在information_schema数据库下的()表中。_学小易找答案...
[单选题]如何将英制 的零件转为公制的零件 ( ). [判断题]连续选择边线创建倒角时,不能单独修改某一边线的倒角大小 [判断题]创建筋特征时截面必须是闭和的 [填空题]Hibernate 的会话接口 ...
- mysql 查找相似数据_跳槽必备:MySQL高频面试题,都在这了!
前言 本文主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水. 前一阵系统的学习了一下MySQL,也有一些实际操作经验,偶然看到一篇和MySQL相关的面 ...
- mysql 查找相似数据_数据库存储引擎大揭秘,不看不知道这里面的骚操作可真多!...
吊打各种树这篇文章 带大家学习一遍数据结构中的各种树,对数据结构还不够熟悉的同学,那篇文章可以作为基础入门,我画了很多图理解起来不困难,建议回头先学习下那篇文章,更容易理解本文要讲的内容. 文章里有提 ...
- mysql 禁止插入重复数据_防止MySQL重复插入数据的三种方法
新建表格 CREATE TABLE `person` ( `id` int NOT NULL COMMENT '主键', `name` varchar(64) CHARACTER SET utf8 C ...
最新文章
- Mac 系统中maven配置环境变量
- 中国省市区json分享
- 中小企业项目的痛VS感人IT团队
- 大整数乘法c语言代码_大整数乘法
- 自动化 测试框架部署(python3+selenium2)
- MVC应用程序与单选列表
- 单独组件_iOS组件化/模块化的方案总结
- php如何用菜刀连接getshell,phpmyadmin之getshell总结
- ACWING828 模拟栈
- springboot电影院订票售票系统毕业设计毕设作品开题报告开题答辩PPT
- MySQL基础 — 常用命令
- TM1640数码管控制器移植STM32HAL库
- linux查看数据库实例名端口号,查看数据库tns配置
- 一个杭州人的美国求医经历
- 使用python基于git log统计开发代码量
- Google Earth Engine(GEE)——美国近地表高精度实时气象数据集(2500米分辨率)
- 最先进的智能采茶机器人_采茶机器人、挑茶机器人、智能立体仓储系统等这些在常人眼中颇具科幻气息的设备-新闻头条5dainban...
- 金秋杭州游 只为桂花香
- DB2相关数据库命令
- 使用libCurl进行百度图片翻译一直返回invalid_sign错误
热门文章
- 超详细的SpringBoot学习笔记-动力节点王鹤
- 图像扭曲(仿射变换)
- 扩散模型训练太难?来看看Meta AI最新提出的KNN-Diffusion
- PMBOK(第六版) 学习笔记 ——《第十三章 项目相关方管理》
- 假设今天是2015年3月1号星期日,计算13个月零6天后是星期几?距离现在多少秒?
- 一份来自前端开发工程师的规范简历
- 网络营销推广实战宝典 软文推广
- oracle gbk 无法识别,oracle 字符集总结(超出GBK范围的字符存取问题未解决)
- 学习通否认 QQ 号被盗与其有关:已报案;iPhone 14 量产工作就绪:四款齐发;简洁优雅的软件早已是明日黄花|极客头条
- poj 2454 随机化(划片使得选举胜利)