📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

JSON 运算符



运算符描述示例结果
->使用索引或键检索 JSON 数组或对象,并返回一个 JSON 对象。- Using a key:
SELECT '{"Datalake": "Cloud Native Warehouse"}'::JSON -> 'Datalake'
- Using an index:
SELECT '["Datalake", "Cloud Native Warehouse"]'::JSON -> 1
"Cloud Native Warehouse"
->>使用索引或键检索 JSON 数组或对象,并返回一个字符串。- Using a key:
SELECT '{"Datalake": "Cloud Native Warehouse"}'::JSON ->> 'Datalake'
- Using an index:
SELECT '["Datalake", "Cloud Native Warehouse"]'::JSON ->> 1
Cloud Native Warehouse
#>通过指定键路径检索 JSON 数组或对象,并返回一个 JSON 对象。SELECT '{"example": {"Datalake": "Cloud Native Warehouse"}}'::JSON #> '{example, Datalake}'"Cloud Native Warehouse"
#>>通过指定键路径检索 JSON 数组或对象,并返回一个字符串。SELECT '{"example": {"Datalake": "Cloud Native Warehouse"}}'::JSON #>> '{example, Datalake}'Cloud Native Warehouse
?检查给定字符串是否作为键存在于 JSON 对象中,或是否存在于数组中;若为真则返回 1,否则返回 0。SELECT '{"a":1,"b":2,"c":3}'::JSON ? 'b'true
?\|检查给定数组中的任意字符串是否存在为键或数组元素;若为真则返回 1,否则返回 0。SELECT '{"a":1,"b":2,"c":3}'::JSON ?\| ['b','e']true
?&检查给定数组中的每个字符串是否都存在为键或数组元素;若为真则返回 1,否则返回 0。SELECT '{"a":1,"b":2,"c":3}'::JSON ?& ['b','e']false
@>检查左侧 JSON 表达式是否包含右侧 JSON 表达式中的所有键值对;若为真则返回 1,否则返回 0。SELECT '{"name":"Alice","age":30}'::JSON @> '{"name":"Alice"}'::JSONtrue
<@检查左侧 JSON 表达式是否为右侧 JSON 表达式的子集;若为真则返回 1,否则返回 0。SELECT '{"name":"Alice"}'::JSON <@ '{"name":"Bob"}'::JSONfalse
@@检查指定的 JSON 路径表达式是否与 JSON 数据中的某些条件匹配;若为真则返回 1,否则返回 0。SELECT '{"a":1,"b":[1,2,3]}'::JSON @@ '$.a == 1'true
@?检查针对指定 JSON 值的 JSON 路径表达式是否返回任意项;若为真则返回 1,否则返回 0。SELECT '{"a":1,"b":[1,2,3]}'::JSON @? '$.b[3]'false
- '<key>'从 JSON 对象中删除一个键值对。SELECT '{"a":1,"b":2}'::JSON - 'a'{"b":2}
- <index>从数组中删除指定索引处的元素(负整数表示从末尾开始计数)。SELECT '[1,2,3]'::JSON - 2[1,2]
#-通过键和/或索引删除一个键值对或数组元素。SELECT '{"a":1,"b":[1,2,3]}'::JSON #- '{b,2}'{"a":1,"b":[1,2]}
||将多个 JSON 对象合并为一个对象。SELECT '{"a": 1}'::JSON || {"B": 1}'::JSON;{"B":1,"a":1}

文档内容是否有帮助?