sql語句中對json資料的操作
sql語句中對json資料的操作
1.獲取指定json字串中指定的屬性值,以下三種寫法等價: //attributes_json欄位的值為一個json字串,下面的語句都是獲取attributes_json中的DP屬性的值
json_extract(attributes_json,'$.DP') //json_extract()方法獲取json中指定的值,格式:json_extract(json_field,'$.DP')
attributes_json->'$.DP'
attributes_json->>'$.DP' //可以有兩個尖括號
2.去掉查詢結果中首尾的雙引號:
json_unquote()
如:
1)select * from t1 where attributes_json->'$.P2PUser'=1 AND attributes_json->'$.PONUser'=12 //表中attributes_json值為一個json字串
上面的條件中,attributes_json->'$.P2PUser'=1 含義為attributes_json 欄位中P2PUser屬性的值等於1
2)select json_unquote(json_extract(attributes_json,'$.DP')) as column_value from t_demand_point where instance_id=2146