1
例如:爲什麼MySQL JSON_EXTRACT不接受JSON_SEARCH的返回值?
SET @key = '["a","b"]';
SELECT JSON_SEARCH(@key, 'one', 'b');
...將返回路徑:
"$[1]"
插入此像在JSON_EXTRACT路徑:
SET @value = '["1","2"]';
SELECT JSON_EXTRACT(@value, "$[1]");
...這將返回值:
"2"
但如果我寫如下:
SET @key = '["a","b"]';
SET @value = '["1","2"]';
SET @path = (SELECT JSON_SEARCH(@key, 'one', 'b'));
SELECT JSON_EXTRACT(@value, @path);
...這將下降一個錯誤:
SQL Fehler (3143): Invalid JSON path expression. The error is around character position 1 in '"$[1]"'.
剪裁雙引號的作品,但我不喜歡這樣的解決方案:
SELECT JSON_EXTRACT(@value, TRIM(BOTH '"' FROM @path));
有沒有其他方法或我錯過了什麼?