我有一个 Oracle 表,其中包含一个我想要更新的 JSON 列,并且我正在将 TypeORM 与 JavaScript 结合使用。我需要访问 where 子句中的 JSON 列,以下是原始 sql 查询以及我尝试使用 typeORM 的内容:
查询将日期更新为当前日期,其中键的(在 json 列内)值为 123。
entityManager.query(`UPDATE TABLE_NAME T
SET DATE = CURRENT_DATE
WHERE T.JSON_COLUMN.key = '123'`)
使用 createQueryBuilder 的查询:
tableRepository.createQueryBuilder()
.update('TABLE_NAME')
.set({DATE: '2021-07-23 10:07:10'})
.where('JSON_COLUMN.key = :key', {key: '123'})
.execute();
我不确定如何在 where 子句中访问 JSON 列的键。理想情况下,我会使用 SQL 中的点运算符来访问 JSON 列键值对,如下所示:
JSON_Column_Name.key = value
但我找不到用 Oracle 实现它的方法。
任何帮助将不胜感激。