› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
su2018
V2EX  ›  MySQL

mysql 中如何查询某列字符串中包含查询的部分字符串

  •  
  •   su2018 · May 15, 2020 · 5163 views
    This topic created in 2337 days ago, the information mentioned may be changed or developed.
    某列中的字符串按逗号(,)分隔. 如 值 1:aa, bb, cc, 值 2: bb,cc, 值 3: dd,hh, 值 4: jj
    查询 bb, dd 时如何把值 1,值 2,值 3 都查询出来
    Supplement 1  ·  May 15, 2020
    我之前的做法是 先把 bb,cc 转为数组, 然后循环拼凑, 如 (0 or FIND_IN_SET('bb',字段) or FIND_IN_SET('cc',字段))
    但是还是觉得有点繁琐
    13 replies  •  2020-05-18 09:37:32 +08:00
    U7Q5tLAex2FI0o0g
        1
    U7Q5tLAex2FI0o0g  
       May 15, 2020
    FIND_IN_SET
    wangyanrui
        2
    wangyanrui  
       May 15, 2020
    是我太菜了吗,不是 LIKE '%bb%' 嘛 0.0
    opengps
        3
    opengps  
       May 15, 2020 via Android
    @wangyanrui 换成字符串截取判断索引值效果更佳
    YangXian
        4
    YangXian  
       May 15, 2020
    find_in_set 就行了
    U7Q5tLAex2FI0o0g
        5
    U7Q5tLAex2FI0o0g  
       May 15, 2020
    @wangyanrui #2 值 5: aa,bbb,cc 也会被你查出来,但不对
    asAnotherJack
        6
    asAnotherJack  
       May 15, 2020
    @littleylv #1 学到了,另外 FIND_IN_SET 除了处理逗号分隔,有办法处理其他分隔符吗,比如用分号分隔的有什么好的办法吗
    U7Q5tLAex2FI0o0g
        7
    U7Q5tLAex2FI0o0g  
       May 15, 2020   ❤️ 1
    @asAnotherJack #6 The second parameter haystack is a list of comma-separated strings that to be searched.
    只能处理逗号,分号的话,可以考虑 REPLACE 替换成逗号再 FIND_IN_SET
    FIND_IN_SET('bb', REPLACE('aa;bb;cc', ';', ',') )
    dongisking
        8
    dongisking  
       May 15, 2020
    FIND_IN_SET,bb or hh
    asAnotherJack
        9
    asAnotherJack  
       May 15, 2020
    @littleylv #7 多谢
    su2018
        10
    su2018  
    OP
       May 15, 2020
    @littleylv @dongisking 你们的意思是附言 1 那样吧
    dongisking
        11
    dongisking  
       May 15, 2020
    @su2018 是
    wangyanrui
        12
    wangyanrui  
       May 16, 2020
    @littleylv 可以存 ,aa,bb,cc, 这种数据,然后 LIKE '%,bb,%'; 手动 doge
    thinkmore
        13
    thinkmore  
       May 18, 2020
    如果在 mongodb 中这种查询就非常 easy,
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1009 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 18:42 · PVG 02:42 · LAX 11:42 · JFK 14:42
    ♥ Do have faith in what you're doing.