1. 程式人生 > >mysql中取出json欄位技巧

mysql中取出json欄位技巧

有時候會將一些資訊以json形式存在資料庫中,如果太長的話,在取的過程中sql執行會比較慢,如果只取某些鍵值的話會比較浪費
mysql中使用函式JSON_EXTRACT()
±—±---------------------------------------------------------------+
| id | data |
±—±---------------------------------------------------------------+
| 1 | {“Tel”: “132223232444”, “name”: “david”, “address”: “Beijing”} |
| 2 | {“Tel”: “13390989765”, “name”: “Mike”, “address”: “Guangzhou”} |
±—±---------------------------------------------------------------+

select json_extract('{"name":"Zhaim","tel":"13240133388"}',"$.tel");

spark sql中使用get_json_object()

select get_json_object(i.extra, '$.sale_currency');
select sum(get_json_object(i.extra, '$.sale_price') * i.count) as sale_price;