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.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot