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 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.