MySQL区间检索
在没有前端的情况下,自己写一些搜索逻辑,可能不太完善,不过功能完成了
- //区间检索的判定
- private String columnTextTranslateRegion(String columnText) {
- if (columnText != null && columnText != "") {
- System.out.println("columnText>>> " + columnText);
- String[] columnTextArr = columnText.split(":");
- System.out.println(columnTextArr.length);
- //数组[0]是比较符号,[1]是第一个参数,[2]是第二个比较符号,[3]是第二个参数
- if ("[null]".equals(columnTextArr[1]) && "[null]".equals(columnTextArr[3])) {
- System.err.println("没有填入任何值");
- return null;
- } else if (!"[null]".equals(columnTextArr[0]) && "[null]".equals(columnTextArr[2])) {
- //只查询一个input (左侧) 情况1
- String mathSymbolLeft = getMathSymbol(columnTextArr[0].toString());
- String valueLeft = columnTextArr[1].toString();
- //如果情况1 value无值,则该字段也设定为null
- if ("[null]".equals(valueLeft)) {
- return null;
- } else {
- System.out.println(mathSymbolLeft + ":" + valueLeft);
- columnText = mathSymbolLeft + " " + valueLeft;
- return columnText;
- }
- } else if ("[null]".equals(columnTextArr[0]) && !"[null]".equals(columnTextArr[2])) {
- //只查询一个input (右侧,一般不会发生,因为左侧默认不会选null)
- String mathSymbolRight = getMathSymbol(columnTextArr[2].toString());
- } else if (!"[null]".equals(columnTextArr[0]) && !"[null]".equals(columnTextArr[2])) {
- //两个都不为null,即设定了两个查询参数 情况2
- String mathSymbolLeft = getMathSymbol(columnTextArr[0].toString());
- String mathSymbolRight = getMathSymbol(columnTextArr[2].toString());
- String valueLeft = columnTextArr[1].toString();
- String valueRight = columnTextArr[3].toString();
- //如果valueL valueR 其中一个为null,则设定对应符号也为null
- if ("[null]".equals(valueLeft) && !"[null]".equals(valueRight)) {
- columnText = "SUBSTRING_INDEX(" + columnTextArr[4].replace("s_", "") + ",'-',-1)" + mathSymbolRight + " " + valueRight;
- return columnText;
- } else if (!"[null]".equals(valueLeft) && "[null]".equals(valueRight)) {
- columnText = "SUBSTRING_INDEX(" + columnTextArr[4].replace("s_", "") + ",'-',1)" + mathSymbolLeft + " " + valueLeft;
- return columnText;
- } else {
- columnText = mathSymbolLeft + " " + valueLeft + " and SUBSTRING_INDEX(" + columnTextArr[4].replace("s_", "") + ",'-',-1) " + mathSymbolRight + " " + valueRight;
- return columnText;
- }
- }
- }
- return columnText;
- }
新的一个方法,不同于只是返回> 5, < 4的操作,而是判定的是数据库字段为VARCHAR类型的 1-2, 或 3-4 等
左边的input判定的是数据库1-2中1的值,而右侧input判定的是1-2中2的值.
在SQL中:
- <if test="s_granularity != null and s_granularity != '' ">
- and ${s_granularity}
- </if>
直接判定搜索字段s_granularity不为空,那么直接拼接该字符串.
示例SQL:
- SELECT count(0) FROM calcined_coke_tbl WHERE SUBSTRING_INDEX(granularity, '-', 1) = 11
- SELECT count(0) FROM calcined_coke_tbl WHERE SUBSTRING_INDEX(granularity, '-', -1) = 33
- SELECT count(0) FROM calcined_coke_tbl WHERE SUBSTRING_INDEX(granularity, '-', 1) < 22 AND SUBSTRING_INDEX(granularity, '-', -1) > 3
MySQL区间检索的更多相关文章
- mysql 区间锁 对于没有索引 非唯一索引 唯一索引 各种情况
The locks are normally next-key locks that also block inserts into the "gap" immediately b ...
- mysql区间范围查询问题
一,日期区间查询,表里有一个时间字段 最常见的就是某时间段查询,比如xxxx时间---xxxx时间有多少条数据.例如数据库里的字段是 income_period, 该字段类型可以是字符串(varcha ...
- Mysql中文检索匹配与正则
今天在用sql模糊查询包含字母d的时候,发现一些不包含此字母的也被查询出来了: SELECT * FROM custom WHERE custom_realname LIKE '%d%' 查询了一下, ...
- 根据商品名称、价格区间检索商品的SQL语句
如果名称和价格为空会检索出所有的数据 select * from TblProduct where (@proName='' or chvProName like '%'+@proName+'%') ...
- MySQL条件检索_WHERE
MySQL使用WHERE命令来限定数据查询条件. 语法:SELECT 属性1,属性2 FROM 表名 WHERE 条件1 OR 条件2 AND 条件3 说明:WHERE同样适用于UPDATE.DELE ...
- mysql 速度检索
授权GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'127.0.0.1' IDENTIFIED BY 'zabbixpwd' WITH GRANT OPTI ...
- MySQL区间统计SQL
SELECT elt( INTERVAL ( datediff(END_DATE, CURDATE()), 1, 201, 401, 601 ), '0-200', '200-400', '400-6 ...
- mysql开发相关
1.mysql事务原理,特性,事务并发控制2.如何解决高并发场景下的插入重复3.乐观锁和悲观锁4.常用数据库引擎之间区别5.mysql索引6.B-Tree7.mysql索引类型8.什么时候创建索引9. ...
- mysql basic operation,mysql总结,对mysql经常使用语句的详细总结,MySQL学习笔记
mysql> select * from wifi_data where dev_id like "0023-AABBCCCCBBAA" ; 1.显示数据库列表.show d ...
随机推荐
- spring cloud微服务实践二
在上一篇,我们已经搭建了spring cloud微服务中的注册中心.但只有一个注册中心还远远不够. 接下来我们就来尝试提供服务. 注:这一个系列的开发环境版本为 java1.8, spring boo ...
- chrome 调试 ios h5
1,安装itunes, 否则无法识别iphone设备 2,开启调试模式 ,打开 iPhone 依次进入 设置 > Safari > 高级 > Web 检查 > 启用 3,下载 ...
- echarts的基本使用以及如何使用官方实例的方法
<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM --> <div id="box" style="width: 600px;heigh ...
- VMware Workstation虚拟机安装
VMware Workstation虚拟机安装 我们缺乏资金, 所以吃土.我们想搭 hadoop 集群, redis 集群, k8s 集群, 怎么办? 用虚拟机!! 一. 安装普通版本(Worksta ...
- (二十六)JavaBean
一.定义 1 JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法暴露给其它程序 ...
- “org/apache/commons/logging/LogFactory”错误的解决方式
用spring-framework-4.2.6.RELEASE-dist时,发生了如下的错误: [java] view plain copy Exception in thread "mai ...
- 关于BOM的一些基本知识以及表格的操作
首先先了解什么是BOM? BOM:英文全称Browser Object Model,即浏览器对象模型.浏览器页面初始化时,会在内存创建一个全局对象,用来描述当前窗口的属性和状态,这个全局对象被称为浏览 ...
- JavaScript--常用对象的属性及方法(2)
Array对象(数组) 数组最常用属性:length 获取数组的元素个数 方法: toString() 将数组转换为字符串 var arr = ["武汉市","成都市&q ...
- 【数字图像处理】目标检测的图像特征提取之HOG特征
1.HOG特征 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和统计图像局部区域的梯 ...
- svm 简单明了的入门级使用教程(转载)
如何使用libsvm进行分类 这帖子就是初步教教刚接触libsvm(svm)的同学如何利用libsvm进行分类预测,关于参数寻优的问题在这里姑且不谈,另有帖子详述. 其实使用libsvm进行分类很 ...