有关日期参数匹配数据库数据的方法
应用场景:
从前台传来一个时间段:开始日期 start (如2012-11-05) , 结束时间 end(如2012-11-15), 从数据库查询 从日期 start 到 日期end 之间所有符合条件的数据集合,返回一个 List 对象
例如:
/*** 返回指定 观测站某时间段内每天8时的水位集合*/@Overridepublic List getDataByStartAndEndTime(String id, String start, String end) {String time = "08";String startDate = start + " " + time +":00:00";String endDate = end + " " + time +":00:00";String sql = "select stcd, to_char(tm, 'YYYY-MM-DD') tm, rz from st_rsvr_r where stcd = ? and tm <= to_date( ? , 'YYYY-MM-DD hh24:mi:ss') and tm > to_date( ? , 'YYYY-MM-DD hh24:mi:ss') and to_char(tm, 'hh24')= ? order by tm ";return getJdbcTemplate().queryForList(sql, id, startDate, endDate, time);}
返回List之后,需要将日期start 到end 之间的某个日期与数据库查询出来的List对象中某个日期进行匹配,new一个数组,数组值依次表示 日期start到end 每日8时的水位值,如果数据库中没有某个日期的记录,那么这天的水位值存为0,方法如下 :(其中startdata1 对应 结束日期 end , enddata 对应 开始日期 start)
/*** 返回带参某水库水位数据源* @param startdata1 开始日期 * @param enddata 结束日期 * @param num * @return*/private double[] getWaterLineHelp(String id, String startdata1, String enddata, int num) {Map<String, String> resultMap = new HashMap<String, String>();double[] getd = new double[num];List<Map> list = stRsvrRDao.getDataByStartAndEndTime(id, startdata1, enddata);if (null != list && !list.isEmpty()) {for(int i=0; i<list.size(); i++){Map map = list.get(i);resultMap.put(map.get("TM") + "", map.get("RZ") + "");}}if (null != getd && getd.length > 0) {for (int i = 0; i < getd.length; i++) {String key = DateUtils.getNextDay2(enddata, i+1 + "");if (resultMap.containsKey(key)) {getd[i] = Double.parseDouble(resultMap.get(key));} else {getd[i] = 0;}}}return getd;}
如上代码,遍历List 用Map对象map接收,然后将这个map对象中的日期和水位存入另一个Map对象resultMap中, 然后从开始日期 enddata依次延后 ,跟resultMap对象中的key值匹配,如果相等,就表示这个日期存有水位值,赋值就好;如果没有匹配上,表示数据库没有这个日期的记录,赋值为0;
效果如下:
有关日期参数匹配数据库数据的方法相关推荐
- python如何导出数据库数据库_python导出数据库数据的方法
python导出数据库数据的方法 发布时间:2020-06-26 14:09:43 来源:亿速云 阅读:138 这篇文章运用简单易懂的例子给大家介绍python导出数据库数据的方法,代码非常详细,感兴 ...
- GEO数据库数据下载方法总结
GEO数据下载 GEO是生信分析经常用到的数据库.经常需要从中获取表达矩阵,平台信息,meta信息等,本博文总结了几种下载GEO数据的方法,各有优劣,实际应用过程中自行选择适合自己的. 方法一:直接从 ...
- python怎么更新数据库_在Python的Django框架中更新数据库数据的方法
先使用一些关键参数创建对象实例,如下: >>> p = Publisher(name='Apress', ... address='2855 Telegraph Ave.', ... ...
- mysql数据库数据迁移方法
说明:这里不讨论命令行还有通过navicat等工具的做法,这里只讨论在mysql坏掉(不能启动)的情况下,怎么办. 方法: a) 先来看mysql数据库文件的情况: mysql坏掉了,不管是linux ...
- oracle数据库mgmt,Oracle 12cRAC移动MGMTDB数据库数据文件方法-Oracle
在之前的Blog里介绍了Oracle12c RAC 中的MGMTDB的概念,参考: Oracle 12cRAC MGMTDB 说明 /database/201412/359252.html 而在默认情 ...
- JAVA通过导入一定格式的excel对数据库数据进行模糊筛选
JAVA通过导入一定格式的excel对数据库数据进行模糊筛选 在工作中遇到一个需求是通过导入固定格式的excel来和数据库数据进行模糊匹配,符合条件的可以通过,不符合条件的就不通过,解决代码: 首先要 ...
- php如何查询数据库,如何在php中查询mysql数据库数据
如何在php中查询mysql数据库数据 发布时间:2020-07-21 09:23:55 来源:亿速云 阅读:81 作者:Leah 本篇文章给大家分享的是有关如何在php中查询mysql数据库数据,小 ...
- php查询mysql数据库_php中如何查询mysql数据库数据?
php中查询mysql数据库数据的方法:首先用navicat新建数据库并建表:然后添加数据并与数据库连接:接着用[mysql_select_db]函数选择要查询的数据库:最后将文件在浏览器中打开即可. ...
- php怎么对数据库修改,php怎么修改数据库数据
php修改数据库数据的方法:可以通过mysqli_query函数并结合update语句来修改数据库数据,如[mysqli_query($con,"UPDATE Persons SET Age ...
最新文章
- 函数返回引用什么意思_【20200917】编程入门第七课,函数(function)
- java枚举类型转换为Struts2的select的数据
- win10升级win11的步骤 win10升级Windows11的方法
- 异速联未获取服务器信息,异速联客户端连接服务器的方法
- html5广告拦截器识别代码做提示(本站内容无法显示)
- 多套 企业/工厂/超市/仓库库存管理系统源码 工具软件程序源代码
- netty4.1 “File does not contain valid private key” 解决方法
- 飞轮效应中的复利:相信时间的力量
- Git和GitHub的关系和区别
- TCP/UDP端口列表
- 天线越大越好吗_路由器的天线是不是越多越好?告知你真实答案,很多人都买错了...
- 新机器部署linux系统(非虚拟机)
- python数据可视化之美——基础
- 称为超级计算机,哪台机器被称为世界上最快的超级计算机?
- 友勤协同Oracle P6项目管理软件,助力江苏爱康能源工程交付高绩效项目。
- 3D人脸重建:从基础知识到识别/重建方法!
- 物联网打破传统行业的枷锁,加速传统行业智能化!
- Linux病毒扫描工具ClamAV(Clam AntiVirus)安装使用
- TEC温控器 半导体制冷片驱动模块 高精度温度控制器
- 数值计算大作业:线性方程组求解(LU分解与Chloesky分解程序在Matlab与C的实现)
热门文章
- 记录AOSP源码编译刷机(pixel 4a)
- 福禄克DSX2-8000 DSX2-5000 业以太网连接器集锦DSX-CHA021S
- elasticsearch7.9安装[单集群单节点、开启权限认证]
- 分段函数是不是一定初等函数_分段函数是不是初等函数,那这个呢?
- sql string转为日期_SQL之变身Excel(二)
- 滚雪球学 Python 第三轮,Python Web 之 Django 的世界
- [转] Real-World Concurrency
- 【电机/控制理论】DTC(Direct Torque Control)直接转矩控制
- 2021年安全生产模拟考试(建筑起重机司机-塔式起重机模拟考试题库)安考星
- 报告:Facebook的Calibra数字钱包将无法在其所有市场上销售