下面给出了一个结果:{"a":null,"b":99.0,"c":null}
我希望结果是{"b":99.0}
,这样我就可以在JSON补丁中使用该结果。如何使用Sqlite/json1实现这一点?
DROP TABLE IF EXISTS test;
CREATE TABLE test (
id INTEGER PRIMARY KEY,
a REAL, b REAL, c REAL
);
INSERT INTO test(a,b,c)
VALUES (1,2,3), (1,99,3);
SELECT json_object(
'a', NULLIF(new.a, curr.a),
'b', NULLIF(new.b, curr.b),
'c', NULLIF(new.c, curr.c)
) AS result
FROM test curr
INNER JOIN test new ON curr.id
WHERE new.id = 2 AND curr.id = new.id -1 ;
2条答案
按热度按时间zi8p0yeb1#
稍后会有一些小提琴:
结果为
{"b":99.0}
所以整个事情就变成了这样:
zf9nrax12#
从json对象中删除Nulls的另一种方法是将其作为json补丁应用到空的json对象上:
结果为
{"b":99.0}