var sql = 'SELECT user_desc.language' +
'FROM user_desc ' +
Lutando com o operador Where, processo de pensamento atual:
sql += 'WHERE JSON_VALUE(user_desc.language, "$.english") = "true"'
Isso está obviamente errado (retorna indefinido), mas você tem a ideia do que estou tentando alcançar.
Exemplo de como os dados são salvos no banco de dados:
{"russian":"false","english":"true"}
Eu acho que provavelmente há toneladas de maneiras diferentes de fazer isso.
Você pode tentar usar JSON_SEARCH
o que está no MariaDB 10.2
A documentação aqui fornece os detalhes completos , mas aqui está um exemplo:
Select
u.language
, Json_Unquote(Json_Extract(u.language, '$.english')) As json_language
From user_desc u
Where Json_Search(u.language, 'all', 'true') Like '%.english%';
Você poderia então envolver isso em um literal de string JavaScript, talvez, em vez de concatenar também.
Edit: Adicionando o DB Fiddle usando MariaDB 10.3 em vez do MySQL 8.0 feito por @Ergest-Basha com a rapidez.
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras