gpt4 book ai didi

sql - 如何在 Oracle SQL Developer 中的 json 中找到 "select where"?

转载 作者:行者123 更新时间:2023-12-04 15:21:12 25 4
gpt4 key购买 nike

我有一个名为 DISCOUNT_CODES 的表,其中包含两列,其中一列具有 JSON 值:

CODE           ACTIVE
1234 {"active":"Y"}
2468 {"active":"N"}
1359 {"active":"Y"}

由于第二列在 JSON 中,我想知道是否有一种方法可以选择事件的代码,而无需执行如下选择查询:

SELECT CODE FROM DISCOUNT_CODES WHERE ACTIVE = '{"active":"Y"}';

在伪代码中,我想知道这样的事情是否可能:

SELECT CODE FROM DISCOUNT_CODES WHERE JSON(ACTIVE $.active) = "Y";

编辑:我正在使用 Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

最佳答案

是的,对于 DB 版本 12c+,您可以使用包含 JSON_TABLE() 函数的 SELECT 语句,如下所示:

SELECT d.code
FROM discount_codes d
CROSS JOIN JSON_TABLE(active, '$' COLUMNS (
active VARCHAR2(100) PATH '$.active'
)
) j
WHERE j.active = 'Y'

Demo

关于sql - 如何在 Oracle SQL Developer 中的 json 中找到 "select where"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63290410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com