2015-11-04 9 views
6

Ho un database con una colonna che è JSON di stringhe (ad esempio ["ART", "LIT"], ecc.). Voglio cercare usando json_contains.Testo JSON non valido nell'argomento 2 - json_taintains in MySQL 5.7.8

Tuttavia, quando provo: errori

json_contains(\`column_name`,"ART") 

dicendo:

valido JSON testo in argomento 2 per json_contains funzione: "Valore non valido" nella posizione 0 in 'ART'.

Si noti che json_contains non errore con i numeri al posto di "ART", solo con le stringhe. Qualche idea su cosa posso fare per risolvere/aggirare questo?

risposta

12

Apparentemente, tratta gli interi in modo diverso dalle stringhe. Mentre json_contains (`column_name`," 1 ") è una chiamata valida, per verificare se contiene" ART ", è necessario utilizzare json_taintains (` column_name`, '"ART"').

Questo ha risolto il problema!

+1

https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html val è anche un tipo di oggetto JSON ' "ART"' – odedsh

+2

Grazie per questo. Mi stava facendo impazzire. – racl101