JSON/JSONB Operators
Operator |
Left Operand Type |
Right Operand Type |
Return Type |
Description |
Example |
||
---|---|---|---|---|---|---|---|
-> |
Array-json(b) |
int |
json(b) |
Obtains the array-json element. If the subscript does not exist, NULL is returned. |
SELECT '[{"a":"foo"}, {"b":"bar"}, {"c":"baz"}]'::json->2; ?column? ------------- {"c":"baz"} (1 row) |
||
-> |
object-json(b) |
text |
json(b) |
Obtains the value by a key. If no record exists, NULL is returned. |
|
||
->> |
Array-json(b) |
int |
text |
Obtains the array-json element. If the subscript does not exist, NULL is returned. |
|
||
->> |
object-json(b) |
text |
text |
Obtains the value by a key. If no record exists, NULL is returned. |
|
||
#> |
container-json (b) |
text[] |
json |
Obtains the JSON object in the specified path. If the path does not exist, NULL is returned.
NOTE:
A GaussDB(DWS) object identifier can end with a number sign (#). To avoid ambiguity during the parsing of a#>b, you need to add spaces in front of and behind the operator #>. Otherwise, a parsing error is reported. |
|
||
#>> |
container-json (b) |
text[] |
text |
Obtains the JSON object in the specified path. If the path does not exist, NULL is returned. |
|
Operator |
Right Operand Type |
Return Type |
Description |
Example |
||
---|---|---|---|---|---|---|
= |
jsonb |
bool |
Same as the jsonb_eq function, which compares the size of two jsonb files. |
|
||
<> |
jsonb |
bool |
Same as the jsonb_eq function, which compares the size of two jsonb files. |
|
||
< |
jsonb |
bool |
Same as the jsonb_eq function, which compares the size of two jsonb files. |
|
||
> |
jsonb |
bool |
Same as the jsonb_eq function, which compares the size of two jsonb files. |
|
||
<= |
jsonb |
bool |
Same as the jsonb_eq function, which compares the size of two jsonb files. |
|
||
>= |
jsonb |
bool |
Same as the jsonb_eq function, which compares the size of two jsonb files. |
|
||
? |
text |
bool |
Whether the string of the key or element exists at the top layer of the JSON value. |
|
||
?| |
text[] |
bool |
Whether any of these array strings exists as a top-layer key. |
|
||
?& |
text[] |
bool |
Whether all these array strings exist as top-layer keys. |
|
||
<@ |
jsonb |
bool |
Whether all items in the JSON file on the left exist at the top layer of the JSON file on the right. |
|
||
@> |
jsonb |
bool |
Whether all items in the JSON file on the right exist at the top layer of the JSON file on the left. |
|
||
|| |
jsonb |
jsonb |
Combines two JSONB objects into one. |
|
||
- |
text |
jsonb |
Deletes a jsonb object and the specified key-value pair. |
|
||
- |
text |
jsonb |
Deletes a jsonb object and the specified key-value pair. |
|
||
- |
int |
jsonb |
Deletes the element corresponding to the subscript in the JSONB array. |
|
||
#- |
text[] |
jsonb |
Deletes the key-value pair corresponding to the path in the JSONB object. |
|
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.