- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图让 Oracle 在 SQL NULL
数据上生成 JSON null
值,如下所示:
select
json_object(key 'a' value 1, key 'b' value null null on null) c1,
json_object(key 'a' value 1, key 'b' value null absent on null) c2
from dual;
或者还有:
select
json_object(key 'a' value a, key 'b' value b null on null) c1,
json_object(key 'a' value a, key 'b' value b absent on null) c2
from (
select 1 a, null b
from dual
) t;
不幸的是,这两个查询都会导致:
|C1 |C2 |
|----------|----------|
|{"a":1} |{"a":1} |
我本以为会这样:
|C1 |C2 |
|-------------------|----------|
|{"a":1,"b":null} |{"a":1} |
我错过了什么?我正在使用 Oracle XE 18c
最佳答案
Oracle 如何处理 JSON_OBJECT
似乎存在一个错误,它将从语句中的最后一个 JSON_on_null_clause
获取参数并将其应用于所有 JSON_OBJECT
表达式:
CREATE TABLE t ( a,b ) AS
SELECT 1, null FROM DUAL UNION ALL
SELECT 2, 'bb' FROM DUAL;
如果你这样做:
select json_object(
KEY 'a' VALUE a,
KEY 'b' VALUE b null on null
) c1,
json_object(
KEY 'a' VALUE a,
KEY 'b' VALUE b absent on null
) c2
from t;
那么输出是:
C1 | C2 :--------------- | :---------------{"a":1} | {"a":1} {"a":2,"b":"bb"} | {"a":2,"b":"bb"}
如果您使用相反的表达式执行相同的查询:
select json_object(
KEY 'a' VALUE a,
KEY 'b' VALUE b absent on null
) c2,
json_object(
KEY 'a' VALUE a,
KEY 'b' VALUE b null on null
) c1
from t;
那么输出是:
C2 | C1 :--------------- | :---------------{"a":1,"b":null} | {"a":1,"b":null}{"a":2,"b":"bb"} | {"a":2,"b":"bb"}
db<> fiddle here
关于sql - Oracle JSON_OBJECT NULL ON NULL 子句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60620047/
是否可以有条件地构建一个 json 对象,例如: mysql> SELECT JSON_OBJECT( CASE WHEN some_condition THEN key,
当我从数据库中选择 JSON_OBJECT 时,它会给我意想不到的结果。 select JSON_OBJECT('test', BIN_TO_UUID('GÇ~pw–'Ú¦[¦£´Æ')); { "t
我在选择查询中使用 JSON_OBJECT 和 JSON_ARRAY 函数创建了一个 JSON 结构。我遇到的问题是在格式化的 JSON 结果中返回日期时间列的格式。 例如我有一张表titles id
我有以下代码 #include #include #include #include #include int main(int argc, char **argv) { jso
我正在使用 json_object,其中对于不同的产品类别,我们有不同的颜色变量用于前 - kdt_color、fcy_color 等(查看下方) 如何为每个产品选择合适的 color_variabl
我有这个查询 SELECT json_object('image_name', image_name, 'iid', iid) FROM `posts_images` WHERE `pid` = '6
我尝试构建一个返回 json 的函数。 我将 mysql Workbench 更新到 8.0.14 并尝试了以下代码: SELECT JSON_OBJECT( 'name_field', nam
我有以下 sql 查询,使用 GROUP_CONCAT 可以正常工作: SELECT orders.created_at,products.title, o_p.qty AS qty, (SE
我在 Using Dart with JSON Web Services 中使用 json_object 代码在 Dartium 中运行良好。使用 dart_to_js_script_rewriter
如何获取 3 列的 JSON_OBJECT(),其一些已经包含 JSON 格式字符串。 这是我的例子,info 字段包含一个 json 字符串,所以所有这个对象都被转义了: SELECT T1
我正在尝试从 mySQL 表中导出 json 数据,其中该行成为字典中的条目。我已经能够使用下面的代码为每一行创建条目。 SELECT JSON_OBJECT(p.link, JSON_OBJECT(
我试图使用以下查询向 MySQL 表插入一个条目。如果我将 MySQL 参数化查询与 mysqli 一起使用,如下所示,它可以正常工作,没有任何问题。 insert into notelist(che
我正在从 ColdFusion 9.0.1 中的 MySQL 5.7 查询中取回一个 JSON 字符串。这是我的查询: SELECT ( SELECT GROUP_CONCAT(
我编写了一个查询,从表中获取帖子并返回有关每个帖子作者的信息: SELECT post.id, post.text, post.datetime, JSON_OBJECT(
我试图让 Oracle 在 SQL NULL 数据上生成 JSON null 值,如下所示: select json_object(key 'a' value 1, key 'b' value n
我试图让 Oracle 在 SQL NULL 数据上生成 JSON null 值,如下所示: select json_object(key 'a' value 1, key 'b' value n
我正在尝试从 MySQL 获取 JSON 格式的结果集。据我所知,MySQL 是有能力的 returning整个结果集为: JSON_OBJECT JSON_ARRAY 通常以哪种格式返回结果集——作
我正在使用 jsob_build_object 函数从我的表中的数据生成 json。 select json_build_object('name', p.name, 'birthday', p.bi
我正在尝试对表进行查询,在该表中我想选择一些列和其他一些列作为嵌套 json 对象,例如,我想选择用户列表及其地址作为嵌套对象。 SELECT u.first_name, u.last_nam
我有 MariaDB 10.2 和这个 SQL: SELECT products.*, CONCAT('[', GROUP_CONCAT(JSON_OBJECT( 'id', V.id,
我是一名优秀的程序员,十分优秀!