2016-05-24 7 views
6

Se ho una semplice istruzione SELECT in questo modo:Come posso usare JSON_EXTRACT in MySQL e ottenere una stringa senza le virgolette?

SELECT JSON_EXTRACT('{"username":"Alexander"}', '$.username'); 

mi si aspetterebbe per tornare Alexander, ma invece restituisce "Alexander". Come posso eliminare le virgolette? Perché questa funzione restituisce anche le virgolette?

+5

Usa [JSON_UNQUOTE] (https://dev.mysql.com/doc/refman/5.7/en /json-modification-functions.html#function_json-unquote) o [column- >> path] (https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html#operator_json- percorso in linea) (MySQL 5.7.13 e versioni successive): l'operatore 'The -> può essere utilizzato ovunque JSON_UNQUOTE (JSON_EXTRACT()) sia consentito. – wchiquito

risposta

0

è possibile utilizzare replace() con esso per rimuovere le virgolette

SELECT replace(JSON_EXTRACT('{"username":"Alexander"}', '$.username'), '\"', ''); 
1

È possibile utilizzare JSON_UNQUOTE per raggiungere questo obiettivo. selezionare JSON_UNQUOTE (JSON_EXTRACT (base, '$ .scope')) come portata dal t_name

ref: