sql >> データベース >  >> RDS >> Mysql

MySQLクエリ:コンマ区切りの値をコンマ区切りの文字列を含む列と一致させます

    @ 1000111が言ったように、正規表現を使用して実行できますが、より複雑な正規表現を使用します。たとえば、これを見てください:

    (^|,)(13|15)(,|$)
    

    これは、135から13、または13から1などとは一致しません。たとえば、番号13の場合、これは次の文字列と一致します:

    1,13,2
    13,1,2
    1,13
    13,2
    13
    

    ただし、これらとは一致しません

    1,135,2
    131,2
    1,113
    

    そしてこれはクエリです:

    SET @search = '13,15';
    
    SELECT *
    FROM test
    WHERE interests REGEXP CONCAT('(^|,)(', REPLACE(@search, ',', '|'), ')(,|$)')
    


    1. PostgreSQLの利点

    2. 'localhost'のMySQLサーバーに接続できません(10061)

    3. MySQLまたはMariaDBにデータベースをインポートする

    4. PL / SQLでBLOBをファイルとして保存する方法は?