Oracle 12c支持JavaScript Object Notation(JSON)数据,您可以从DB获取json字符串值。
例:
JSON obj(列名:my_json
)是{"account": "10000"}
表:table1
您可以通过以下方式获得帐户价值:
select t.my_json.account from table1 t;
虽然您无法通过select my_json.account from table1
获取它,但在使用此案例时,表别名是必需的。
当我离开加入此表并使用表别名时,它也无法正常工作
sql看起来像select t1.my_json.account from table1 t1 left join table2 t2 on t1.c = t2.c
任何人都可以帮我指出问题所在。
Oracle JSON文档相关链接: https://docs.oracle.com/database/121/ADXDB/json.htm#ADXDB6371
答案 0 :(得分:1)
好而不好是次要的评估,但JSON选择的强制别名很好documented:
点符号语法是一个表别名(必填),后跟一个点(。),一个JSON列的名称,以及一对或多对表单。 json_key或。 json_key后跟array_step,其中json_key是JSON键,array_step是Oracle JSON基本路径表达式语法中描述的数组步骤表达式。
答案 1 :(得分:0)
我在这里找到了Oracle JSON expression