Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL, selecione registros com base em valores na matriz JSON


Você pode usar a seguinte solução, usando JSON_CONTAINS :
SELECT * 
FROM Users
WHERE JSON_CONTAINS(interestIds, '2') = 1;

O terceiro parâmetro (opcional) path dá a você a possibilidade de usar esta função apenas em uma parte específica do seu JSON valor. Portanto, o exemplo a seguir verifica se 2 é o segundo valor da matriz:
SELECT *
FROM test
WHERE JSON_CONTAINS(interestIds, '2', '$[1]') = 1;

demonstração em dbfiddle.uk