今天遇到一个问题,需要对表中的一个类json字段的内容进行筛选,而筛选的条件是值要大于某个值。因为值的位数并不确定,考虑使用正则表达式进行筛选。

字段格式

类json的key-value字段,示例如下:

create table t1 (a varchar(50));

insert into t1  values ('"xx":"30","yy":"9.8"}');
insert into t1 values ('"xx":"20","yy":"9.9"}');
insert into t1 values ('"xx":"60","yy":"9.5"}');
insert into t1 values ('"xx":"90","yy":"10.0"}');

筛选条件

xx后面的值要求大于20,yy后面的值要求大于9.6

最后的筛选语句

select * from t1 where a regexp '^.*"xx":"((2[1-9])|([3-9][0-9])|([1-9][0-9]{2,}))","yy":"((9\.[7-9])|(10\.)).*}$';

说明

  1. 数字比较采用枚举的方式实现,比如xx,先比较以20开头的2位数,然后是3-9开头的两位数,最后是多位数
  2. 枚举值之间使用管道符号|来实现或的选择。

MySQL使用正则表达式比较字段中的数字的更多相关文章

  1. 在论坛中出现的比较难的sql问题:16(取一个字段中的数字)

    原文:在论坛中出现的比较难的sql问题:16(取一个字段中的数字) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 问题:取一个字段中的数字http://bbs.csdn ...

  2. 往MySQL数据库datetime类型字段中插入数据库的当前时间

    代码: StringBuilder sb = new StringBuilder(); sb.append(" insert into uosdetailfile ("); sb. ...

  3. C# 使用正则表达式去掉字符串中的数字,或者去掉字符串中的非数字

            /// 去掉字符串中的数字           public static string RemoveNumber(string key)           {            ...

  4. C# 使用正则表达式去掉字符串中的数字

    /// <summary>/// 去掉字符串中的数字/// </summary>/// <param name="key"></param ...

  5. C# .net 使用正则表达式去掉字符串中的数字

    /// <summary>/// 去掉字符串中的数字/// </summary>/// <param name="key"></param ...

  6. mysql面试题:字段中@之前字符相同且大于等于2条的所有记录

    公司发了一张面试题给我,题目如下: 在test数据库中有个flow_user表,找出email字段中@之前字符相同且大于等于2条的所有记录 答案: select substring_index(`em ...

  7. mysql 在查字符串字段中 条件参数传为数字0查到与实际数据不匹配问题

    比如: CREATE TABLE `e` ( `id` int(11) DEFAULT NULL, `status` varchar(255) DEFAULT NULL, `b` varchar(25 ...

  8. 查mysql字段中的数字记录

    select * from a where nameregexp '^[0-9]+$' ;

  9. 使用Java正则表达式提取字符串中的数字一例

    直接上代码: String reg = "\\D+(\\d+)$"; //提取字符串末尾的数字:封妖塔守卫71 == >> 71 String s = monster. ...

随机推荐

  1. NoSQl简介(转)

    NoSQL,全称是“Not Only Sql”,指的是非关系型的数据库.这类数据库主要有这些特点:非关系型的.分布式的.开源的.水平可扩展的.原始的目的是为了大规模web应用,这场全新的数据库革命运动 ...

  2. JavaScript与java的异同(一)

    讲个故事:话说很久很久以前,有一个叫网景(Netscape)的,十月怀胎,他生了个儿子,很开兴,给儿子取名livescript.Livescript很勤奋,帮大叔大婶干了好多活,也给他爸赚了很多钱.突 ...

  3. 【67测试20161116】【数论】【DP】【思维】

    第一题: LGTB 得到了一个序列,他想在这个序列中选择一个最长的连续子序列,使得这个子序列的最大公约数等于1.请告诉他他能得到的最大长度,如果没有这样的序列,输出-1. 对于50% 的数据,1 &l ...

  4. MongoDB入门

    安装 安装MongoDB 从官网下载 安装 测试连接 启用 安装MongoDB Windows服务 > d:\mongodb\bin>mongod --dbpath "d:\mo ...

  5. redis-JedisPoolConfig配置

    项目之前要使用redis这个临时缓存,下面是从别的大神那里转来的一些基本配置属性的说明:   JedisPoolConfig config = new JedisPoolConfig(); //连接耗 ...

  6. pandas 数据检索

    使用pandas的一些方法: 条件检索 按index取值

  7. IOS框架和服务

    在iOS中框架是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的头文件,以及图像.声音文件等其他资源.共享资源库定义应用程序可以调用的函数和方法. iOS为应用程序开发提供了许多可使用的框架 ...

  8. longjmp setjmp and volatile

    /******************************************************************************* * 版权所有: * 模 块 名: * ...

  9. 用Javascript动态添加删除HTML元素实例 (转载)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. mysql 查看数据库、表的基本命令

    1:show databases; 查看所有的数据库,等同于select schema_name from information_schema.schemata\G.\G 替换;,以纵向报表的形式输 ...