比较两个 json 值是否相等
Compare two json values for equality
(请注意,这是使用 BigQuery 中的预览 JSON
功能。)
有没有一种简单的方法可以递归地比较两个 json 值以查看它们是否相等,忽略键顺序,例如:
{a: 1, b:2} === {b:2, a:1}
举个例子:
WITH tbl AS (
SELECT JSON '{"a": 1, "b": 2}' as a, JSON '{"b": 2, "a": 1}' as b
) SELECT a,b, a=b?? FROM tbl
试试下面
SELECT a,b, TO_JSON_STRING(a) = TO_JSON_STRING(b)
FROM tbl
结果
(请注意,这是使用 BigQuery 中的预览 JSON
功能。)
有没有一种简单的方法可以递归地比较两个 json 值以查看它们是否相等,忽略键顺序,例如:
{a: 1, b:2} === {b:2, a:1}
举个例子:
WITH tbl AS (
SELECT JSON '{"a": 1, "b": 2}' as a, JSON '{"b": 2, "a": 1}' as b
) SELECT a,b, a=b?? FROM tbl
试试下面
SELECT a,b, TO_JSON_STRING(a) = TO_JSON_STRING(b)
FROM tbl
结果