项目中SQL语句实现时间联动查询
2016-01-25 17:13
204 查看
在一些web项目中有时候会需要查询一段时间内的内容,本篇文章就简要的介绍了一些这样的操作:
前端代码:
脚本部分:
以上实现了在前端页面的时间联动(样式一般,网上有很多好看的资源)
在controller中需要如下形式的语句块来接收前端传递过来的时间参数
一般在web项目中时间块查询是追加在where语句后面的,所以:
在service中接收如下:
parameters是方法中参数:
当时间不为空时,追加查询语句:
将以上代码放入程序中即可处理相应的需求
注意以上语句中时间的格式都是用String,因为在实现查询语句那里会将传过来的字符串转为时间类型
如果提前就用Date类型接收,会出现异常导致查询失败
原创文章转载请注明出处,谢谢。
前端代码:
<td> 开始时间: </td> <td > <input type="text" id="startDate" name="startDate" value="${startDate }" style="width:150px" class="required" /> </td> <td> 结束时间: </td> <td > <input type="text" id="endDate" name="endDate" value="${endDate }" style="width:150px" class="required"/> </td>
脚本部分:
<script type="text/javascript"> $(function() { $( "#startDate" ).datepicker({ defaultDate: "+1w", changeMonth: true, changeYear: true, dateFormat: 'yy-mm-dd', onClose: function( selectedDate ) { $( "#endDate" ).datepicker( "option", "minDate", selectedDate ); } }); $( "#endDate" ).datepicker({ defaultDate: "+1w", changeMonth: true, changeYear: true, dateFormat: 'yy-mm-dd', onClose: function( selectedDate ) { $( "#startDate" ).datepicker( "option", "maxDate", selectedDate ); } }); }); </script>
以上实现了在前端页面的时间联动(样式一般,网上有很多好看的资源)
在controller中需要如下形式的语句块来接收前端传递过来的时间参数
String startDate, String endDate,
一般在web项目中时间块查询是追加在where语句后面的,所以:
if(startDate!=null&&!"".equals(startDate)){ parameters.put("startDate",startDate); }else{ parameters.put("startDate",null); } if(endDate!=null&&!"".equals(endDate)){ parameters.put("endDate",endDate); }else{ parameters.put("endDate",null); }
在service中接收如下:
parameters是方法中参数:
String startDate = (String) parameters.get("startDate"); String endDate = (String) parameters.get("endDate");
当时间不为空时,追加查询语句:
if (startDate!=null) { sql.append(" and to_char(er.CREATE_DATE,'yyyy-mm-dd')>=:startDate "); } if(endDate!=null ){ sql.append(" and to_char(er.CREATE_DATE,'yyyy-mm-dd')>=:endDate "); }
将以上代码放入程序中即可处理相应的需求
注意以上语句中时间的格式都是用String,因为在实现查询语句那里会将传过来的字符串转为时间类型
如果提前就用Date类型接收,会出现异常导致查询失败
原创文章转载请注明出处,谢谢。
相关文章推荐
- SQL 优化案例
- MYSQL的分区字段必须包含主键-介绍以及解决方法
- mysql 索引( mysql index )
- SQLServer 2012 已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL Provider, error: 0 – 等待的操作过时
- C#里ADO.NET的SqlDataAdapter新增数据
- toad fo roracle数据库备份
- Redis实现分布式session功能的共享
- Oracle存储过程详解
- oracle 求两个时间点直接的分钟、小时数
- ORACLE中to_date 、to_char
- 使用mysql profiling功能剖析单条查询
- mysql解决自动断开8小时未曾用过的链接
- [MySQL]Software caused connection abort: recv failed 问题分析与解决
- PostgreSQL与MySQL优势比较
- PostgreSQL与MySQL优势比较
- [MySQL]Software caused connection abort: recv failed 问题分析与解决
- mysql解决自动断开8小时未曾用过的链接
- MAC 下配置MySQL
- Android使用contentprovide实现对其他应用数据库的读写
- oracle用户管理入门