java - 是否可以获取和比较位于数据库中嵌套 Json 字符串格式列中的元素?通过 SQL 查询
问题描述
我有“唯一标识”。我想根据该唯一 ID 从表中获取记录。我有一个名为“请求正文”的列,其中包含一个文本类型的嵌套 json 字符串。有什么办法可以将 'unique-id' 与 json 字符串 cloumn 中的 'unique-id' 进行比较,即请求正文?
解决方案
抱歉,我是stackoverflow的新手。对于寻找解决方案的任何人,以下是两种方法:
方法 1
SELECT t.request_body
FROM table t
WHERE cast(request_body as JSON) ->> 'uniqueId' ='123'
方法 2
SELECT t.request_body
FROM table t
WHERE (substr(t.request_body, position ('uniqueId' in request_body)+11,3) ='123'
注意:11代表' uniqueId":" '的长度,3代表后面的id 123
推荐阅读
- json - 在 Swift 中将麻烦的 JSON 字符串转换为对象
- javascript - 为什么我需要单击更改焦点才能更新元素 CSS
- apache-spark - 将 Hive 引擎从 mr 设置为 Spark 后“失败:执行错误,返回代码 3”
- android - 无法解析 GOOGLE_FIT_PERMISSIONS_REQUEST_CODE
- javascript - Vuejs + Vuetifyjs + v-text-field 文本转换大写
- git - 必须在 git rebase branchname 之后立即运行 git rebase --continue
- amazon-web-services - AWS KMS 加密 - 数据大小限制
- python - 将每 2 个字符串组合为 1 个字符串
- android - Android 9 如何启用 CSS 颜色模块 4 级行为?
- ssis - SSIS 包仅在 SQL 代理作业中执行包的最后一部分,但在 Visual Studio 中执行所有包