2017-10-16 32 views
1

嗨,我有一個表「狀態」與2列idstring。 我插入一個數據,例如id = 1string = {"1": "Enable", "2": " Disabled"}無法提取查詢中的JSON路徑

我該如何才能在SQL中獲得值「Enable」?

If I type SELECT 
    id, string->"$.1" 
FROM status; 

我有無效的JSON路徑表達式。

回答

1

您需要將1用引號括起來,以便將其視爲字符串而不是數字。

這些無論是應爲你工作:

SELECT id, string->"$.\"1\"" 
FROM status 

或:

SELECT id, string->'$."1"' 
FROM status 
+0

它的工作原理!謝謝! – Gnast973

0

有一個稱爲json_extract()的功能。 以下查詢應該把工作做好:

SELECT 
     id, 
    json_extract(string,'$.1') 
    FROM status; 

編輯:該解決方案將只限於MySQL 5.7或更高版本。

希望它有幫助!

+0

它不工作。就像@Ike Walker說的,我需要用引號將1包裹起來。 – Gnast973

+0

對不起。忘記檢查與您的Mysql版本。 –