账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    mysql 查询中如何使用正则查询匹配特定字符?
    • 2019-09-02 00:00
    • 10
    134
    0

    表中一个字段存储了json格式的数据,如 tasks 字段,每个人的任务是一个数组,也就是转换成 json 后的 {}:

    [{"create_time":"2019-08-27 16:24:51","finish_time":"2019-08-29 12:51:47","task_result":"AGREE","task_status":"COMPLETED","taskid":"62047012545","userid":"0637661208752994"},{"create_time":"2019-08-27 16:24:43","task_result":"NONE","task_status":"CANCELED","taskid":"62053477946","userid":"V00_1400815737560"}]

    现在想通过 regexp 匹配到指定用户的记录,比如我想查找其中是否存在(用户V00_1400815737560已同意):"task_result":"AGREE""userid":"V00_1400815737560" 的记录。

    需要注意的是以上两个条件必须属于一个用户,也就是在一个 {} 中。

    请问可以使用 mysql 的 regexp 进行这样的查找吗?

    ==========================================================

    目前查询 sql,有一个缺点是可能会匹配到两个 {} 里,也就是第一个 {} 匹配到了 "task_status":"RUNNING",第二个 {} 匹配到了 "userid":"%%s"

    select * from t_xx where tasks regexp '"task_status":"RUNNING".+"userid":"%%s"';
    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 魔幻四少 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部