forked from docs/doc-exports
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com> Co-authored-by: Lu, Huayi <luhuayi@huawei.com> Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
1422 lines
165 KiB
HTML
1422 lines
165 KiB
HTML
<a name="EN-US_TOPIC_0000001453140122"></a><a name="EN-US_TOPIC_0000001453140122"></a>
|
|
|
|
<h1 class="topictitle1">JSON/JSONB Functions</h1>
|
|
<div id="body0000001453140122"><p id="EN-US_TOPIC_0000001453140122__a6f8018c2b2ef4002adf8fc296288c5c0">JSON/JSONB functions are used to generate JSON data (see <a href="dws_06_0020.html">JSON Types</a>).</p>
|
|
<div class="note" id="EN-US_TOPIC_0000001453140122__note21109155613"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001453140122__p73014201762">Except the <strong id="EN-US_TOPIC_0000001453140122__b135803889993626">array_to_json</strong> and <strong id="EN-US_TOPIC_0000001453140122__b197381231093626">row_to_json</strong> functions, other JSON/JSONB functions and operators are supported only in 8.1.2 or later.</p>
|
|
</div></div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1149072218156"><h4 class="sectiontitle">array_to_json(anyarray [, pretty_bool])</h4><p id="EN-US_TOPIC_0000001453140122__p1369862911154">Description: Returns the array as JSON. A multi-dimensional array becomes a JSON array of arrays. Line feeds will be added between dimension-1 elements if <strong id="EN-US_TOPIC_0000001453140122__b54929381793626">pretty_bool</strong> is <strong id="EN-US_TOPIC_0000001453140122__b76660802793626">true</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p435453518156">Return type: json</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p36980298158">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen12826154114152"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">array_to_json</span><span class="p">(</span><span class="s1">'{{1,5},{99,100}}'</span><span class="p">::</span><span class="nb">int</span><span class="p">[]);</span>
|
|
<span class="n">array_to_json</span>
|
|
<span class="c1">------------------</span>
|
|
<span class="p">[[</span><span class="mi">1</span><span class="p">,</span><span class="mi">5</span><span class="p">],[</span><span class="mi">99</span><span class="p">,</span><span class="mi">100</span><span class="p">]]</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section2445173169"><h4 class="sectiontitle">row_to_json(record [, pretty_bool])</h4><p id="EN-US_TOPIC_0000001453140122__p3424167131615">Description: Returns the row as JSON. Line feeds will be added between level-1 elements if <strong id="EN-US_TOPIC_0000001453140122__b94396172093626">pretty_bool</strong> is <strong id="EN-US_TOPIC_0000001453140122__b50983657193626">true</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1042447101611">Return type: json</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1842487111613">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen24245718167"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">row_to_json</span><span class="p">(</span><span class="k">row</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="s1">'foo'</span><span class="p">));</span>
|
|
<span class="w"> </span><span class="n">row_to_json</span><span class="w"> </span>
|
|
<span class="c1">---------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"f1"</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="ss">"f2"</span><span class="p">:</span><span class="ss">"foo"</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section173813215241"><h4 class="sectiontitle">json_agg(any)</h4><p id="EN-US_TOPIC_0000001453140122__p7729738112410">Description: Aggregates values into a JSON array.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1172910384249">Return type: array-json</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p37291386245">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1016421192416"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span>
|
|
<span class="normal">11</span>
|
|
<span class="normal">12</span>
|
|
<span class="normal">13</span>
|
|
<span class="normal">14</span>
|
|
<span class="normal">15</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">classes</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="n">name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">score</span>
|
|
<span class="w"> </span><span class="c1">-----+-------</span>
|
|
<span class="w"> </span><span class="n">A</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">2</span>
|
|
<span class="w"> </span><span class="n">A</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">3</span>
|
|
<span class="w"> </span><span class="n">D</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">5</span>
|
|
<span class="w"> </span><span class="n">D</span><span class="w"> </span><span class="o">|</span><span class="w"> </span>
|
|
<span class="p">(</span><span class="mi">4</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span><span class="w"> </span>
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">json_agg</span><span class="p">(</span><span class="n">score</span><span class="p">)</span><span class="w"> </span><span class="n">score</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">classes</span><span class="w"> </span><span class="k">group</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="n">name</span><span class="w"> </span><span class="k">order</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="n">name</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="n">name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">score</span>
|
|
<span class="w"> </span><span class="c1">-----+-----------------</span>
|
|
<span class="w"> </span><span class="n">A</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span>
|
|
<span class="w"> </span><span class="n">D</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">]</span>
|
|
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="k">null</span><span class="p">]</span><span class="w"> </span>
|
|
<span class="p">(</span><span class="mi">3</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section719121215256"><h4 class="sectiontitle">json_object_agg(any, any)</h4><p id="EN-US_TOPIC_0000001453140122__p12995181115253">Description: Aggregates values into a JSON object.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1899651102511">Return type: json</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p7996141102515">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1599701113252"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span>
|
|
<span class="normal">11</span>
|
|
<span class="normal">12</span>
|
|
<span class="normal">13</span>
|
|
<span class="normal">14</span>
|
|
<span class="normal">15</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">classes</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="n">name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">score</span>
|
|
<span class="w"> </span><span class="c1">-----+-------</span>
|
|
<span class="w"> </span><span class="n">A</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">2</span>
|
|
<span class="w"> </span><span class="n">A</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">3</span>
|
|
<span class="w"> </span><span class="n">D</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">5</span>
|
|
<span class="w"> </span><span class="n">D</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="p">(</span><span class="mi">4</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
<span class="w"> </span>
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="n">json_object_agg</span><span class="p">(</span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">score</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">classes</span><span class="w"> </span><span class="k">group</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="n">name</span><span class="w"> </span><span class="k">order</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="n">name</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="n">json_object_agg</span>
|
|
<span class="c1">-------------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="ss">"A"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="ss">"A"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="err">}</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="ss">"D"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="ss">"D"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section127617342251"><h4 class="sectiontitle">json_build_array(VARIADIC "any")</h4><p id="EN-US_TOPIC_0000001453140122__p2074715346254">Description: Constructs a JSON array that may be of heterogeneous type from a variable parameter list.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p16747143416254">Return type: json</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1974783412517">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen10747163462514"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">json_build_array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="s1">'3'</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">5</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">json_build_array</span>
|
|
<span class="c1">-------------------</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="ss">"3"</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">]</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section66311756192514"><h4 class="sectiontitle">json_build_object(VARIADIC "any")</h4><p id="EN-US_TOPIC_0000001453140122__p7616105632512">Description: Constructs a JSON object from a variable parameter list. The parameter list consists of alternate keys and values. The number of input parameters must be an even number. Every two input parameters form a key-value pair. Note that the value of a key cannot be null.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p461645615255">Return type: json</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1616156202516">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1161665612255"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">json_build_object</span><span class="p">(</span><span class="s1">'foo'</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="s1">'bar'</span><span class="p">,</span><span class="mi">2</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">json_build_object</span>
|
|
<span class="c1">------------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"foo"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">"bar"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section852411375610"><h4 class="sectiontitle">json_object(text[]), json_object(text[], text[])</h4><p id="EN-US_TOPIC_0000001453140122__p105841824115615">Description: Constructs a JSON object from a text array.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1458510248561">This is an overloaded function. When the input parameter is a text array, the array length must be an even number, and members are considered alternate key-value pairs. When two text arrays are used, the first array is regarded as a key, and the second array is regarded as a value. The lengths of the two arrays must be the same. Note that the value of a key cannot be null.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p16585142410564">Return type: json</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p3585202417564">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen151281335615"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span>
|
|
<span class="normal">11</span>
|
|
<span class="normal">12</span>
|
|
<span class="normal">13</span>
|
|
<span class="normal">14</span>
|
|
<span class="normal">15</span>
|
|
<span class="normal">16</span>
|
|
<span class="normal">17</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">json_object</span><span class="p">(</span><span class="s1">'{a, 1, b, "def", c, 3.5}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">json_object</span>
|
|
<span class="c1">---------------------------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"a"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="ss">"1"</span><span class="p">,</span><span class="w"> </span><span class="ss">"b"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="ss">"def"</span><span class="p">,</span><span class="w"> </span><span class="ss">"c"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="ss">"3.5"</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="n">json_object</span><span class="p">(</span><span class="s1">'{{a, 1},{b, "def"},{c, 3.5}}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">json_object</span>
|
|
<span class="c1">---------------------------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"a"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="ss">"1"</span><span class="p">,</span><span class="w"> </span><span class="ss">"b"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="ss">"def"</span><span class="p">,</span><span class="w"> </span><span class="ss">"c"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="ss">"3.5"</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="n">json_object</span><span class="p">(</span><span class="s1">'{a,b,"a b c"}'</span><span class="p">,</span><span class="w"> </span><span class="s1">'{a,1,1}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">json_object</span>
|
|
<span class="w"> </span><span class="c1">---------------------------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"a"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="ss">"a"</span><span class="p">,</span><span class="w"> </span><span class="ss">"b"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="ss">"1"</span><span class="p">,</span><span class="w"> </span><span class="ss">"a b c"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="ss">"1"</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section2150431574"><h4 class="sectiontitle">to_json(anyelement)</h4><p id="EN-US_TOPIC_0000001453140122__p871013509572">Description: Converts parameters to json.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p19710115017577">Return type: json</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p10710155019572">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen82878575574"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span>
|
|
<span class="normal">11</span>
|
|
<span class="normal">12</span>
|
|
<span class="normal">13</span>
|
|
<span class="normal">14</span>
|
|
<span class="normal">15</span>
|
|
<span class="normal">16</span>
|
|
<span class="normal">17</span>
|
|
<span class="normal">18</span>
|
|
<span class="normal">19</span>
|
|
<span class="normal">20</span>
|
|
<span class="normal">21</span>
|
|
<span class="normal">22</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">to_json</span><span class="p">(</span><span class="s1">'Fred said "Hi."'</span><span class="p">::</span><span class="nb">text</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">to_json</span>
|
|
<span class="c1">---------------------</span>
|
|
<span class="w"> </span><span class="ss">"Fred said \"</span><span class="n">Hi</span><span class="p">.</span><span class="err">\</span><span class="ss">""</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
<span class="o">-</span><span class="w"> </span><span class="c1">-- Convert the column-store table json_tbl_2 to JSON:</span>
|
|
<span class="n">postgres</span><span class="o">=#</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">json_tbl_2</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="c1">---+-----</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">aaa</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">bbb</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">ccc</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">ddd</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="p">(</span><span class="mi">4</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span><span class="w"> </span>
|
|
<span class="n">postgres</span><span class="o">=#</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">to_json</span><span class="p">(</span><span class="n">t</span><span class="p">.</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">json_tbl_2</span><span class="w"> </span><span class="n">t</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="n">to_json</span>
|
|
<span class="c1">-------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"a"</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="ss">"b"</span><span class="p">:</span><span class="ss">"bbb"</span><span class="err">}</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"a"</span><span class="p">:</span><span class="mi">2</span><span class="p">,</span><span class="ss">"b"</span><span class="p">:</span><span class="ss">"ddd"</span><span class="err">}</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"a"</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="ss">"b"</span><span class="p">:</span><span class="ss">"aaa"</span><span class="err">}</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"a"</span><span class="p">:</span><span class="mi">2</span><span class="p">,</span><span class="ss">"b"</span><span class="p">:</span><span class="ss">"ccc"</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">4</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section16545164411216"><h4 class="sectiontitle">json_strip_nulls(json)</h4><p id="EN-US_TOPIC_0000001453140122__p75225446218">Description: All object fields with null values are ignored, and other values remain unchanged.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p8522184416210">Return type: json</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p052264411217">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1152318446217"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">json_strip_nulls</span><span class="p">(</span><span class="s1">'[{"f1":1,"f2":null},2,null,3]'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">json_strip_nulls</span>
|
|
<span class="c1">---------------------</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="ss">"f1"</span><span class="p">:</span><span class="mi">1</span><span class="err">}</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="k">null</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section68931071439"><h4 class="sectiontitle">json_object_field(json, text)</h4><p id="EN-US_TOPIC_0000001453140122__p15882107631">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b117092752993626">-></strong>, which returns the value of a specified key in an object.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p138821877314">Return type: json</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p148821674310">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen138821171537"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">json_object_field</span><span class="p">(</span><span class="s1">'{"a": {"b":"foo"}}'</span><span class="p">,</span><span class="s1">'a'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">json_object_field</span>
|
|
<span class="c1">-------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"b"</span><span class="p">:</span><span class="ss">"foo"</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1411922715314"><h4 class="sectiontitle">json_object_field_text(object-json, text)</h4><p id="EN-US_TOPIC_0000001453140122__p181044271638">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b129004515493626">->></strong>, which returns the value of a specified key in an object.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p410415271735">Return type: text</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p3104927431">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen61053277320"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">json_object_field_text</span><span class="p">(</span><span class="s1">'{"a": {"b":"foo"}}'</span><span class="p">,</span><span class="s1">'a'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">json_object_field_text</span>
|
|
<span class="c1">------------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"b"</span><span class="p">:</span><span class="ss">"foo"</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section102410545315"><h4 class="sectiontitle">json_array_element(array-json, integer)</h4><p id="EN-US_TOPIC_0000001453140122__p11231195418318">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b130178164893626">-></strong>, which returns the element with the specified subscript in the array.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p2023110542318">Return type: json</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p22311154532">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen123117541532"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">json_array_element</span><span class="p">(</span><span class="s1">'[1,true,[1,[2,3]],null]'</span><span class="p">,</span><span class="mi">2</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">json_array_element</span>
|
|
<span class="c1">--------------------</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,[</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">]]</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1732791640"><h4 class="sectiontitle">json_array_element_text(array-json, integer)</h4><p id="EN-US_TOPIC_0000001453140122__p1372189241">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b182554644093626">->></strong>, which returns the element with the specified subscript in the array.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p6721391648">Return type: text</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1872129540">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen672119444"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">json_array_element_text</span><span class="p">(</span><span class="s1">'[1,true,[1,[2,3]],null]'</span><span class="p">,</span><span class="mi">2</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">json_array_element_text</span>
|
|
<span class="c1">-------------------------</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,[</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">]]</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section17686114414419"><h4 class="sectiontitle">json_extract_path(json, VARIADIC text[])</h4><p id="EN-US_TOPIC_0000001453140122__p186784441445">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b97911512593626">#></strong>, which returns the JSON value of the path specified by <em id="EN-US_TOPIC_0000001453140122__i28907982893626">$2</em>.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p76781944745">Return type: json</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p56781744148">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen06783442413"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">json_extract_path</span><span class="p">(</span><span class="s1">'{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}'</span><span class="p">,</span><span class="w"> </span><span class="s1">'f4'</span><span class="p">,</span><span class="s1">'f6'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">json_extract_path</span>
|
|
<span class="c1">-------------------</span>
|
|
<span class="w"> </span><span class="ss">"stringy"</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section19602026550"><h4 class="sectiontitle">json_extract_path_text(json, VARIADIC text[])</h4><p id="EN-US_TOPIC_0000001453140122__p185928261354">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b181856774193626">#>></strong>, which returns the text value of the path specified by <em id="EN-US_TOPIC_0000001453140122__i118725883393626">$2</em>.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p459210261520">Return type: text</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p18592132616518">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen059312261655"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">json_extract_path_text</span><span class="p">(</span><span class="s1">'{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}'</span><span class="p">,</span><span class="w"> </span><span class="s1">'f4'</span><span class="p">,</span><span class="s1">'f6'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">json_extract_path_text</span>
|
|
<span class="c1">------------------------</span>
|
|
<span class="w"> </span><span class="n">stringy</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section610514552514"><h4 class="sectiontitle">json_array_elements(array-json)</h4><p id="EN-US_TOPIC_0000001453140122__p5988554519">Description: Splits an array. Each element returns a row.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p20984552514">Return type: json</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1599135517512">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen209975511519"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span>
|
|
<span class="normal">7</span>
|
|
<span class="normal">8</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">json_array_elements</span><span class="p">(</span><span class="s1">'[1,true,[1,[2,3]],null]'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">json_array_elements</span>
|
|
<span class="c1">---------------------</span>
|
|
<span class="w"> </span><span class="mi">1</span>
|
|
<span class="w"> </span><span class="k">true</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,[</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">]]</span>
|
|
<span class="w"> </span><span class="k">null</span>
|
|
<span class="p">(</span><span class="mi">4</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1229310151164"><h4 class="sectiontitle">json_array_elements_text(array-json)</h4><p id="EN-US_TOPIC_0000001453140122__p1528610151368">Description: Splits an array. Each element returns a row.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p162867151662">Return type: text</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p14286615365">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen162860156612"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span>
|
|
<span class="normal">7</span>
|
|
<span class="normal">8</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">json_array_elements_text</span><span class="p">(</span><span class="s1">'[1,true,[1,[2,3]],null]'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">value</span>
|
|
<span class="c1">-----------</span>
|
|
<span class="w"> </span><span class="mi">1</span>
|
|
<span class="w"> </span><span class="k">true</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,[</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">]]</span>
|
|
|
|
<span class="p">(</span><span class="mi">4</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1311418471264"><h4 class="sectiontitle">json_array_length(array-json)</h4><p id="EN-US_TOPIC_0000001453140122__p5107247863">Description: Returns the array length.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1110715471165">Return type: integer</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p10108154712617">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1410815479611"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">json_array_length</span><span class="p">(</span><span class="s1">'[1,2,3,{"f1":1,"f2":[5,6]},4,null]'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">json_array_length</span>
|
|
<span class="c1">-------------------</span>
|
|
<span class="w"> </span><span class="mi">6</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1135816413715"><h4 class="sectiontitle">json_object_keys(object-json)</h4><p id="EN-US_TOPIC_0000001453140122__p113531241972">Description: Returns all keys at the top layer of the object.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1935311416718">Return type: text</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p33530412714">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1198321016710"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span>
|
|
<span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">json_object_keys</span><span class="p">(</span><span class="s1">'{"f1":"abc","f2":{"f3":"a", "f4":"b"}, "f1":"abcd"}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">json_object_keys</span>
|
|
<span class="c1">------------------</span>
|
|
<span class="w"> </span><span class="n">f1</span>
|
|
<span class="w"> </span><span class="n">f2</span>
|
|
<span class="w"> </span><span class="n">f1</span>
|
|
<span class="p">(</span><span class="mi">3</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section129905617715"><h4 class="sectiontitle">json_each(object-json)</h4><p id="EN-US_TOPIC_0000001453140122__p89510561278">Description: Splits each key-value pair of an object into one row and two columns.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1959563719">Return type: setof(key text, value json)</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p99517561879">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen19004214812"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span>
|
|
<span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">json_each</span><span class="p">(</span><span class="s1">'{"f1":[1,2,3],"f2":{"f3":1},"f4":null}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="k">key</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">value</span>
|
|
<span class="c1">-----+----------</span>
|
|
<span class="w"> </span><span class="n">f1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span>
|
|
<span class="w"> </span><span class="n">f2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="ss">"f3"</span><span class="p">:</span><span class="mi">1</span><span class="err">}</span>
|
|
<span class="w"> </span><span class="n">f4</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">null</span>
|
|
<span class="p">(</span><span class="mi">3</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1137918144819"><h4 class="sectiontitle">json_each_text(object-json)</h4><p id="EN-US_TOPIC_0000001453140122__p123751114489">Description: Splits each key-value pair of an object into one row and two columns.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p9375191412810">Return type: setof(key text, value text)</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p73751141181">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen93756144820"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span>
|
|
<span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">json_each_text</span><span class="p">(</span><span class="s1">'{"f1":[1,2,3],"f2":{"f3":1},"f4":null}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="k">key</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">value</span>
|
|
<span class="c1">-----+----------</span>
|
|
<span class="w"> </span><span class="n">f1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span>
|
|
<span class="w"> </span><span class="n">f2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="ss">"f3"</span><span class="p">:</span><span class="mi">1</span><span class="err">}</span>
|
|
<span class="w"> </span><span class="n">f4</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="p">(</span><span class="mi">3</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section128815345820"><h4 class="sectiontitle">json_populate_record(anyelement, object-json [, bool])</h4><p id="EN-US_TOPIC_0000001453140122__p2028418341281">Description: <em id="EN-US_TOPIC_0000001453140122__i29688508893626">$1</em> must be a compound parameter. Each key-value in <strong id="EN-US_TOPIC_0000001453140122__b180497017793626">object-json</strong> is split. The key is used as the column name to match the column name in <em id="EN-US_TOPIC_0000001453140122__i130492907193626">$1</em> and fill in the <em id="EN-US_TOPIC_0000001453140122__i184969825493626">$1</em> format.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p52841341985">Return type: anyelement</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p528413349819">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen62842346819"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">TYPE</span><span class="w"> </span><span class="n">jpop</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="p">(</span><span class="n">a</span><span class="w"> </span><span class="nb">text</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="nb">INT</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="w"> </span><span class="k">timestamp</span><span class="p">);</span>
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">json_populate_record</span><span class="p">(</span><span class="k">null</span><span class="p">::</span><span class="n">jpop</span><span class="p">,</span><span class="s1">'{"a":"blurfl","x":43.2}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">c</span>
|
|
<span class="c1">--------+---+---</span>
|
|
<span class="w"> </span><span class="n">blurfl</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section186176551786"><h4 class="sectiontitle">json_populate_recordset(anyelement, array-json [, bool])</h4><p id="EN-US_TOPIC_0000001453140122__p18613145517818">Description: Performs the preceding operations on each element in the <em id="EN-US_TOPIC_0000001453140122__i59892517893626">$2</em> array by referring to the <strong id="EN-US_TOPIC_0000001453140122__b201140565393626">json_populate_record</strong> and <strong id="EN-US_TOPIC_0000001453140122__b7607189793626">jsonb_populate_record</strong> functions. Therefore, each element in the <em id="EN-US_TOPIC_0000001453140122__i36231447593626">$2</em> array must be of the <strong id="EN-US_TOPIC_0000001453140122__b54344042993626">object-json</strong> type.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p126139555817">Return type: setof anyelement</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p186131551284">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen166131855183"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span>
|
|
<span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">TYPE</span><span class="w"> </span><span class="n">jpop</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="p">(</span><span class="n">a</span><span class="w"> </span><span class="nb">text</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="nb">INT</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="w"> </span><span class="k">timestamp</span><span class="p">);</span>
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">json_populate_recordset</span><span class="p">(</span><span class="k">null</span><span class="p">::</span><span class="n">jpop</span><span class="p">,</span><span class="w"> </span><span class="s1">'[{"a":1,"b":2},{"a":3,"b":4}]'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">c</span>
|
|
<span class="c1">---+---+---</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1364814301791"><h4 class="sectiontitle">json_to_record(object-json)</h4><p id="EN-US_TOPIC_0000001453140122__p2646183018915">Description: Like all functions that return <strong id="EN-US_TOPIC_0000001453140122__b142682576093626">record</strong>, the caller must explicitly define the structure of the record using an <strong id="EN-US_TOPIC_0000001453140122__b125958754793626">AS</strong> clause. The key-value pair of <strong id="EN-US_TOPIC_0000001453140122__b8268623993626">object-json</strong> is split and reassembled. The key is used as a column name to match and fill in the structure of the record specified by the <strong id="EN-US_TOPIC_0000001453140122__b43581590893626">AS</strong> clause.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p13646123016912">Return type: record</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p13646103012914">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen14646730799"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">json_to_record</span><span class="p">(</span><span class="s1">'{"a":1,"b":"foo","c":"bar"}'</span><span class="p">::</span><span class="n">json</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">x</span><span class="p">(</span><span class="n">a</span><span class="w"> </span><span class="nb">int</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="nb">text</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="w"> </span><span class="nb">text</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">d</span>
|
|
<span class="c1">---+-----+---</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">foo</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section54086481799"><h4 class="sectiontitle">json_to_recordset(array-json)</h4><p id="EN-US_TOPIC_0000001453140122__p124061488918">Description: Executes the preceding function on each element in the array by referring to the <strong id="EN-US_TOPIC_0000001453140122__b18528543793626">json_to_record</strong> function. Therefore, each element in the array must be <strong id="EN-US_TOPIC_0000001453140122__b37520546193626">object-json</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p104061248097">Return type: SETOF record</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p164061448999">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen940712481990"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span>
|
|
<span class="normal">11</span>
|
|
<span class="normal">12</span>
|
|
<span class="normal">13</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">json_to_recordset</span><span class="p">(</span><span class="s1">'[{"a":1,"b":{"d":"foo"},"c":true},{"a":2,"c":false,"b":{"d":"bar"}}]'</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">x</span><span class="p">(</span><span class="n">a</span><span class="w"> </span><span class="nb">INT</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="n">json</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="w"> </span><span class="nb">BOOLEAN</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">c</span>
|
|
<span class="c1">---+-------------+---</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="ss">"d"</span><span class="p">:</span><span class="ss">"foo"</span><span class="err">}</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">t</span>
|
|
<span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="ss">"d"</span><span class="p">:</span><span class="ss">"bar"</span><span class="err">}</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">f</span>
|
|
<span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">json_to_recordset</span><span class="p">(</span><span class="s1">'[{"a":1,"b":"foo","d":false},{"a":2,"b":"bar","c":true}]'</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">x</span><span class="p">(</span><span class="n">a</span><span class="w"> </span><span class="nb">INT</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="nb">text</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="w"> </span><span class="nb">BOOLEAN</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">c</span>
|
|
<span class="c1">---+-----+---</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">foo</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">bar</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">t</span>
|
|
<span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section10689161861015"><h4 class="sectiontitle">json_typeof(json)</h4><p id="EN-US_TOPIC_0000001453140122__p068831871015">Description: Checks the JSON type.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1688018131017">Return type: text</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p668891811106">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen86891018181013"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span>
|
|
<span class="normal">11</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">value</span><span class="p">,</span><span class="w"> </span><span class="n">json_typeof</span><span class="p">(</span><span class="n">value</span><span class="p">)</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="p">(</span><span class="k">values</span><span class="w"> </span><span class="p">(</span><span class="n">json</span><span class="w"> </span><span class="s1">'123.4'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">json</span><span class="w"> </span><span class="s1">'"foo"'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">json</span><span class="w"> </span><span class="s1">'true'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">json</span><span class="w"> </span><span class="s1">'null'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">json</span><span class="w"> </span><span class="s1">'[1, 2, 3]'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">json</span><span class="w"> </span><span class="s1">'{"x":"foo", "y":123}'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">::</span><span class="n">json</span><span class="p">))</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="k">data</span><span class="p">(</span><span class="n">value</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">value</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">json_typeof</span>
|
|
<span class="c1">----------------------+-------------</span>
|
|
<span class="w"> </span><span class="mi">123</span><span class="p">.</span><span class="mi">4</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="nb">number</span>
|
|
<span class="w"> </span><span class="ss">"foo"</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">string</span>
|
|
<span class="w"> </span><span class="k">true</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="nb">boolean</span>
|
|
<span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">null</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="nb">array</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"x"</span><span class="p">:</span><span class="ss">"foo"</span><span class="p">,</span><span class="w"> </span><span class="ss">"y"</span><span class="p">:</span><span class="mi">123</span><span class="err">}</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">object</span>
|
|
<span class="w"> </span><span class="o">|</span>
|
|
<span class="p">(</span><span class="mi">7</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1783115123015"><h4 class="sectiontitle">jsonb_object(text[])</h4><p id="EN-US_TOPIC_0000001453140122__p167426523020">Description: Constructs an <strong id="EN-US_TOPIC_0000001453140122__b93406128393626">object-jsonb</strong> from a text array. This is an overloaded function. When the input parameter is a text array, the array length must be an even number, and members are considered alternate key-value pairs.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p974265153017">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p13742185143013">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen774416513016"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_object</span><span class="p">(</span><span class="s1">'{a,1,b,2,3,NULL,"d e f","a b c"}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_object</span>
|
|
<span class="c1">---------------------------------------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"3"</span><span class="p">:</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="ss">"a"</span><span class="p">:</span><span class="w"> </span><span class="ss">"1"</span><span class="p">,</span><span class="w"> </span><span class="ss">"b"</span><span class="p">:</span><span class="w"> </span><span class="ss">"2"</span><span class="p">,</span><span class="w"> </span><span class="ss">"d e f"</span><span class="p">:</span><span class="w"> </span><span class="ss">"a b c"</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section15992191233013"><h4 class="sectiontitle">jsonb_object(text[], text[])</h4><p id="EN-US_TOPIC_0000001453140122__p13969151214306">Description: When two text arrays are used, the first array is considered a key and the second array is considered a value. The lengths of the two arrays must be the same. Note that the value of a key cannot be null.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p3969161293015">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p17969111219302">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen17969191243010"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_object</span><span class="p">(</span><span class="s1">'{a,b,"a b c"}'</span><span class="p">,</span><span class="w"> </span><span class="s1">'{a,1,1}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_object</span>
|
|
<span class="c1">------------------------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"a"</span><span class="p">:</span><span class="w"> </span><span class="ss">"a"</span><span class="p">,</span><span class="w"> </span><span class="ss">"b"</span><span class="p">:</span><span class="w"> </span><span class="ss">"1"</span><span class="p">,</span><span class="w"> </span><span class="ss">"a b c"</span><span class="p">:</span><span class="w"> </span><span class="ss">"1"</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section75041233123315"><h4 class="sectiontitle">to_jsonb(anyment)</h4><p id="EN-US_TOPIC_0000001453140122__p9480733143317">Description: Converts other types to the corresponding jsonb type.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p7480733183319">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p184809334335">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen184801533133312"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">to_jsonb</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">1</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">to_jsonb</span>
|
|
<span class="c1">----------</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">1</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section20749431133513"><h4 class="sectiontitle">jsonb_agg</h4><p id="EN-US_TOPIC_0000001453140122__p5717113183511">Description: Aggregates jsonb objects into a jsonb array.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p17717103118356">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p19717123110353">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen471813163510"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span>
|
|
<span class="normal">11</span>
|
|
<span class="normal">12</span>
|
|
<span class="normal">13</span>
|
|
<span class="normal">14</span>
|
|
<span class="normal">15</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">json_tbl_2</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">b</span>
|
|
<span class="c1">---+-----</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">aaa</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">bbb</span>
|
|
<span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">ccc</span>
|
|
<span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">ddd</span>
|
|
<span class="p">(</span><span class="mi">4</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">jsonb_agg</span><span class="p">(</span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">json_tbl_2</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">jsonb_agg</span>
|
|
<span class="c1">---+----------------</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="ss">"aaa"</span><span class="p">,</span><span class="w"> </span><span class="ss">"bbb"</span><span class="p">]</span>
|
|
<span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="ss">"ccc"</span><span class="p">,</span><span class="w"> </span><span class="ss">"ddd"</span><span class="p">]</span>
|
|
<span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1263629123618"><h4 class="sectiontitle">jsonb_object_agg</h4><p id="EN-US_TOPIC_0000001453140122__p1341172993613">Description: Aggregates key-value pairs into a JSON object.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p241192983620">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p64132903617">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1242142912363"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span>
|
|
<span class="normal">11</span>
|
|
<span class="normal">12</span>
|
|
<span class="normal">13</span>
|
|
<span class="normal">14</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">json_tbl_3</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">c</span>
|
|
<span class="c1">---+-----+----</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">aaa</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">10</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">bbb</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">20</span>
|
|
<span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">ccc</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">30</span>
|
|
<span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">ddd</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">40</span>
|
|
<span class="p">(</span><span class="mi">4</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">jsonb_object_agg</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">json_tbl_3</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">jsonb_object_agg</span>
|
|
<span class="c1">---+------------------------</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="ss">"aaa"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="ss">"bbb"</span><span class="p">:</span><span class="w"> </span><span class="mi">20</span><span class="err">}</span>
|
|
<span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="ss">"ccc"</span><span class="p">:</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="ss">"ddd"</span><span class="p">:</span><span class="w"> </span><span class="mi">40</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section292503783620"><h4 class="sectiontitle">jsonb_build_array( [VARIADIC "any"] )</h4><p id="EN-US_TOPIC_0000001453140122__p9909113773613">Description: Constructs a JSON array that may contain heterogeneous types from a variable parameter list.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p69091937143613">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p2090919371369">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1291023713367"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_build_array</span><span class="p">(</span><span class="s1">'a'</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="s1">'b'</span><span class="p">,</span><span class="mi">1</span><span class="p">.</span><span class="mi">2</span><span class="p">,</span><span class="s1">'c'</span><span class="p">,</span><span class="k">true</span><span class="p">,</span><span class="s1">'d'</span><span class="p">,</span><span class="k">null</span><span class="p">,</span><span class="s1">'e'</span><span class="p">,</span><span class="n">json</span><span class="w"> </span><span class="s1">'{"x": 3, "y": [1,2,3]}'</span><span class="p">,</span><span class="s1">''</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_build_array</span>
|
|
<span class="c1">-------------------------------------------------------------------------------</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="ss">"a"</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">"b"</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="ss">"c"</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">,</span><span class="w"> </span><span class="ss">"d"</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="ss">"e"</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="ss">"x"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="ss">"y"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">]</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1633801611384"><h4 class="sectiontitle">jsonb_build_object( [VARIADIC "any"] )</h4><p id="EN-US_TOPIC_0000001453140122__p1731061619387">Description: Constructs a JSON object from a variable parameter list. The number of input parameters must be an even number. Every two input parameters form a key-value pair. Note that the value of a key cannot be null.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1331091617381">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p131051610389">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen143102162383"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_build_object</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_build_object</span>
|
|
<span class="c1">--------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"1"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1628912224387"><h4 class="sectiontitle">jsonb_strip_nulls(jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p18268192253813">Description: All object fields with null values are omitted. Other null values remain unchanged.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p13268162213820">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p42688223383">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen10268122214384"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_strip_nulls</span><span class="p">(</span><span class="s1">'[{"f1":1,"f2":null},2,null,3]'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_strip_nulls</span>
|
|
<span class="c1">-------------------------</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="ss">"f1"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section45441280384"><h4 class="sectiontitle">jsonb_object_field(jsonb, text)</h4><p id="EN-US_TOPIC_0000001453140122__p1952916287384">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b206136172793626">-></strong>, which returns the value of a specified key in an object.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p12529528173813">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p85291828113815">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen125293286382"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_object_field</span><span class="p">(</span><span class="s1">'{"a": {"b":"foo"}}'</span><span class="p">,</span><span class="s1">'a'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_object_field</span>
|
|
<span class="c1">--------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"b"</span><span class="p">:</span><span class="w"> </span><span class="ss">"foo"</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section5230536143812"><h4 class="sectiontitle">jsonb_object_field_text(jsonb, text)</h4><p id="EN-US_TOPIC_0000001453140122__p132121536133818">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b64728966493626">->></strong>, which returns the value of a specified key in an object.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p52121036113817">Return type: text</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p14212436153812">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen62121436173810"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_object_field_text</span><span class="p">(</span><span class="s1">'{"a": {"b":"foo"}}'</span><span class="p">,</span><span class="s1">'a'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_object_field_text</span>
|
|
<span class="c1">-------------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"b"</span><span class="p">:</span><span class="w"> </span><span class="ss">"foo"</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section18685281396"><h4 class="sectiontitle">jsonb_array_element(array-jsonb, integer)</h4><p id="EN-US_TOPIC_0000001453140122__p1185410284399">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b193033660893626">-></strong>, which returns the element with the specified subscript in the array.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p11854172819397">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p7854102819391">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen16855228133912"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_array_element</span><span class="p">(</span><span class="s1">'[1,true,[1,[2,3]],null]'</span><span class="p">,</span><span class="mi">2</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_array_element</span>
|
|
<span class="c1">---------------------</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]]</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section111301536183917"><h4 class="sectiontitle">jsonb_array_element_text(array-jsonb, integer)</h4><p id="EN-US_TOPIC_0000001453140122__p181111036123911">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b147324931593626">->></strong>, which returns the element with the specified subscript in the array.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p81111836113911">Return type: text</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p3111236153915">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen811183617395"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_array_element_text</span><span class="p">(</span><span class="s1">'[1,true,[1,[2,3]],null]'</span><span class="p">,</span><span class="mi">2</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_array_element_text</span>
|
|
<span class="c1">--------------------------</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]]</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1650874273919"><h4 class="sectiontitle">jsonb_extract_path((jsonb, VARIADIC text[])</h4><p id="EN-US_TOPIC_0000001453140122__p2495194217396">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b19845430893626">#></strong>, which returns the value of the path specified by <em id="EN-US_TOPIC_0000001453140122__i176378906993626">$2</em>.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1349519425391">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p94951442193910">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen194961942143913"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_extract_path</span><span class="p">(</span><span class="s1">'{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}'</span><span class="p">,</span><span class="w"> </span><span class="s1">'f4'</span><span class="p">,</span><span class="s1">'f6'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_extract_path</span>
|
|
<span class="c1">--------------------</span>
|
|
<span class="w"> </span><span class="ss">"stringy"</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section187717498398"><h4 class="sectiontitle">jsonb_extract_path_text((jsonb, VARIADIC text[])</h4><p id="EN-US_TOPIC_0000001453140122__p1164104933919">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b152659606293626">#>></strong>, which returns the value of the path specified by <em id="EN-US_TOPIC_0000001453140122__i2488943793626">$2</em>.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p18644492393">Return type: text</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p46434915393">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen964104917391"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_extract_path_text</span><span class="p">(</span><span class="s1">'{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}'</span><span class="p">,</span><span class="w"> </span><span class="s1">'f4'</span><span class="p">,</span><span class="s1">'f6'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_extract_path_text</span>
|
|
<span class="c1">-------------------------</span>
|
|
<span class="w"> </span><span class="n">stringy</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section4926125643910"><h4 class="sectiontitle">jsonb_array_elements(array-jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p1391312562393">Description: Splits an array. Each element returns a row.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p691415568393">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p391425611396">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen29142568395"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span>
|
|
<span class="normal">7</span>
|
|
<span class="normal">8</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_array_elements</span><span class="p">(</span><span class="s1">'[1,true,[1,[2,3]],null]'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_array_elements</span>
|
|
<span class="c1">----------------------</span>
|
|
<span class="w"> </span><span class="mi">1</span>
|
|
<span class="w"> </span><span class="k">true</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]]</span>
|
|
<span class="w"> </span><span class="k">null</span>
|
|
<span class="p">(</span><span class="mi">4</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section765101319406"><h4 class="sectiontitle">jsonb_array_elements_text(array-jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p206351137405">Description: Splits an array. Each element returns a row.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p19635813124019">Return type: text</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p146358136404">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1963631315401"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span>
|
|
<span class="normal">7</span>
|
|
<span class="normal">8</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">jsonb_array_elements_text</span><span class="p">(</span><span class="s1">'[1,true,[1,[2,3]],null]'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">value</span>
|
|
<span class="c1">-------------</span>
|
|
<span class="w"> </span><span class="mi">1</span>
|
|
<span class="w"> </span><span class="k">true</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]]</span>
|
|
|
|
<span class="p">(</span><span class="mi">4</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section198901018164016"><h4 class="sectiontitle">jsonb_array_length(array-jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p19879171874011">Description: Returns the array length.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p198797184407">Return type: integer</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p16879171824010">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen287951854013"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_array_length</span><span class="p">(</span><span class="s1">'[1,2,3,{"f1":1,"f2":[5,6]},4,null]'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_array_length</span>
|
|
<span class="c1">--------------------</span>
|
|
<span class="w"> </span><span class="mi">6</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1379023211400"><h4 class="sectiontitle">jsonb_object_keys(object-jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p14775173264012">Description: Returns all keys at the top layer of the object.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p877593244015">Return type: SETOF text</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p19775132144017">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1177613214402"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_object_keys</span><span class="p">(</span><span class="s1">'{"f1":"abc","f2":{"f3":"a", "f4":"b"}, "f1":"abcd"}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_object_keys</span>
|
|
<span class="c1">-------------------</span>
|
|
<span class="w"> </span><span class="n">f1</span>
|
|
<span class="w"> </span><span class="n">f2</span>
|
|
<span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section24237398409"><h4 class="sectiontitle">jsonb_each(object-jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p34111039174011">Description: Splits each key-value pair of an object into one row and two columns.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1641115392409">Return type: setof(key text, value jsonb)</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p341113915403">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen11412153954020"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span>
|
|
<span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">jsonb_each</span><span class="p">(</span><span class="s1">'{"f1":[1,2,3],"f2":{"f3":1},"f4":null}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="k">key</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">value</span>
|
|
<span class="c1">-----+-----------</span>
|
|
<span class="w"> </span><span class="n">f1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span>
|
|
<span class="w"> </span><span class="n">f2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="ss">"f3"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="err">}</span>
|
|
<span class="w"> </span><span class="n">f4</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">null</span>
|
|
<span class="p">(</span><span class="mi">3</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section13413121712419"><h4 class="sectiontitle">jsonb_each_text(object-jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p13403817174116">Description: Splits each key-value pair of an object into one row and two columns.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p18403171714416">Return type: setof(key text, value text)</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p54031117104116">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1240321774112"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span>
|
|
<span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">jsonb_each_text</span><span class="p">(</span><span class="s1">'{"f1":[1,2,3],"f2":{"f3":1},"f4":null}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="k">key</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">value</span>
|
|
<span class="c1">-----+-----------</span>
|
|
<span class="w"> </span><span class="n">f1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span>
|
|
<span class="w"> </span><span class="n">f2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="ss">"f3"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="err">}</span>
|
|
<span class="w"> </span><span class="n">f4</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="p">(</span><span class="mi">3</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1394111578419"><h4 class="sectiontitle">jsonb_populate_record(anyelement, object-jsonb [, bool])</h4><p id="EN-US_TOPIC_0000001453140122__p792885784113">Description: <em id="EN-US_TOPIC_0000001453140122__i33690499393626">$1</em> must be a compound parameter. Each key-value in <strong id="EN-US_TOPIC_0000001453140122__b63284705293626">object-json</strong> is split. The key is used as the column name to match the column name in <em id="EN-US_TOPIC_0000001453140122__i69640610093626">$1</em> and fill in the <em id="EN-US_TOPIC_0000001453140122__i113413080993626">$1</em> format.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1592855724114">Return type: anyelement</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p179281572413">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen192875714114"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">jsonb_populate_record</span><span class="p">(</span><span class="k">null</span><span class="p">::</span><span class="n">jpop</span><span class="p">,</span><span class="s1">'{"a":"blurfl","x":43.2}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">c</span>
|
|
<span class="c1">--------+---+---</span>
|
|
<span class="w"> </span><span class="n">blurfl</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section10721832429"><h4 class="sectiontitle">jsonb_populate_record_set(anyelement, array-jsonb [, bool])</h4><p id="EN-US_TOPIC_0000001453140122__p056103174211">Description: Performs the preceding operations on each element in the <em id="EN-US_TOPIC_0000001453140122__i150074125593626">$2</em> array by referring to the <strong id="EN-US_TOPIC_0000001453140122__b184643007493626">json_populate_record</strong> and <strong id="EN-US_TOPIC_0000001453140122__b205065328893626">jsonb_populate_record</strong> functions. Therefore, each element in the <em id="EN-US_TOPIC_0000001453140122__i101494751593626">$2</em> array must be of the <strong id="EN-US_TOPIC_0000001453140122__b211779813393626">object-json</strong> type.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p2056163134210">Return type: setof anyelement</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p15663154218">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1756732422"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">json_populate_recordset</span><span class="p">(</span><span class="k">null</span><span class="p">::</span><span class="n">jpop</span><span class="p">,</span><span class="w"> </span><span class="s1">'[{"a":1,"b":2},{"a":3,"b":4}]'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">c</span>
|
|
<span class="c1">---+---+---</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section18774161184416"><h4 class="sectiontitle">jsonb_to_record(object-json)</h4><p id="EN-US_TOPIC_0000001453140122__p5760151114412">Description: Like all functions that return <strong id="EN-US_TOPIC_0000001453140122__b191247228693626">record</strong>, the caller must explicitly define the structure of the record using an <strong id="EN-US_TOPIC_0000001453140122__b136550724493626">AS</strong> clause. The key-value pair of <strong id="EN-US_TOPIC_0000001453140122__b196488384493626">object-json</strong> is split and reassembled. The key is used as a column name to match and fill in the structure of the record specified by the <strong id="EN-US_TOPIC_0000001453140122__b168503178493626">AS</strong> clause.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p776031119444">Return type: record</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p97601811154415">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen6760811174411"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">jsonb_to_record</span><span class="p">(</span><span class="s1">'{"a":1,"b":"foo","c":"bar"}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">x</span><span class="p">(</span><span class="n">a</span><span class="w"> </span><span class="nb">int</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="nb">text</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="w"> </span><span class="nb">text</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">d</span>
|
|
<span class="c1">---+-----+---</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">foo</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1938416915451"><h4 class="sectiontitle">jsonb_to_recordset(array-json)</h4><p id="EN-US_TOPIC_0000001453140122__p43751996452">Description: Executes the preceding function on each element in the array by referring to the <strong id="EN-US_TOPIC_0000001453140122__b193009553293626">jsonb_to_record</strong> function. Therefore, each element in the array must be <strong id="EN-US_TOPIC_0000001453140122__b93440369593626">object-jsonb</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p137513954518">Return type: SETOF record</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p7375129184510">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen123767964514"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">jsonb_to_recordset</span><span class="p">(</span><span class="s1">'[{"a":1,"b":"foo","d":false},{"a":2,"b":"bar","c":true}]'</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">x</span><span class="p">(</span><span class="n">a</span><span class="w"> </span><span class="nb">INT</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="nb">text</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="w"> </span><span class="nb">boolean</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">c</span>
|
|
<span class="c1">---+-----+---</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">foo</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">bar</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">t</span>
|
|
<span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section157947142455"><h4 class="sectiontitle">jsonb_typeof(jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p10783181454520">Description: Checks the JSONB type.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p107831114204512">Return type: text</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p16783131444515">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen678371417452"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_typeof</span><span class="p">(</span><span class="n">to_jsonb</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">1</span><span class="p">));</span>
|
|
<span class="w"> </span><span class="n">jsonb_typeof</span>
|
|
<span class="c1">--------------</span>
|
|
<span class="w"> </span><span class="nb">number</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section10322628134518"><h4 class="sectiontitle">jsonb_ne(jsonb, jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p031115287451">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b189236783293626"><></strong>, which compares two values.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1731162824517">Return type: Boolean</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p13311112815454">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1531322854510"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_ne</span><span class="p">(</span><span class="s1">'{"a":1, "b":2}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">,</span><span class="w"> </span><span class="s1">'{"a":1, "b":3}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_ne</span>
|
|
<span class="c1">----------</span>
|
|
<span class="w"> </span><span class="n">t</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1081633114513"><h4 class="sectiontitle">jsonb_lt(jsonb, jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p136910331459">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b15906707493626"><</strong>, which compares two values.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p14694332457">Return type: Boolean</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p469113317459">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen167012331450"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_lt</span><span class="p">(</span><span class="s1">'{"a":1, "b":2}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">,</span><span class="w"> </span><span class="s1">'{"a":1, "b":3}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_lt</span>
|
|
<span class="c1">----------</span>
|
|
<span class="w"> </span><span class="n">t</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section134731937104516"><h4 class="sectiontitle">jsonb_gt(jsonb, jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p5466193734516">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b29783412093626">></strong>, which compares two values.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p34661237194510">Return type: Boolean</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p17466183774511">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen18466193714520"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_gt</span><span class="p">(</span><span class="s1">'{"a":1, "b":2}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">,</span><span class="w"> </span><span class="s1">'{"a":1, "b":3}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_gt</span>
|
|
<span class="c1">----------</span>
|
|
<span class="w"> </span><span class="n">f</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section6128164254510"><h4 class="sectiontitle">jsonb_le(jsonb, jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p61211242114512">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b54260050993626"><=</strong>, which compares two values.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p20121542164510">Return type: Boolean</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p19121194224514">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen61214428458"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_le</span><span class="p">(</span><span class="s1">'["a", "b"]'</span><span class="p">,</span><span class="w"> </span><span class="s1">'{"a":1, "b":2}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_le</span>
|
|
<span class="c1">----------</span>
|
|
<span class="w"> </span><span class="n">t</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section139191546184512"><h4 class="sectiontitle">jsonb_ge(jsonb, jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p3911146194519">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b198682867493626">>=</strong>, which compares two values.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p391113467459">Return type: Boolean</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p16911124617458">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen14912114694516"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_ge</span><span class="p">(</span><span class="s1">'["a", "b"]'</span><span class="p">,</span><span class="w"> </span><span class="s1">'{"a":1, "b":2}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_ge</span>
|
|
<span class="c1">----------</span>
|
|
<span class="w"> </span><span class="n">f</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section14288125294514"><h4 class="sectiontitle">jsonb_eq(jsonb, jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p8280125234510">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b148181988993626">=</strong>, which compares two values.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p13280165254510">Return type: Boolean</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1828065217450">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1428112520457"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_eq</span><span class="p">(</span><span class="s1">'["a", "b"]'</span><span class="p">,</span><span class="w"> </span><span class="s1">'{"a":1, "b":2}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_eq</span>
|
|
<span class="c1">----------</span>
|
|
<span class="w"> </span><span class="n">f</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1442713359484"><h4 class="sectiontitle">jsonb_cmp(jsonb, jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p194201235124816">Description: Compares values. A positive value indicates greater than, a negative value indicates less than, and <strong id="EN-US_TOPIC_0000001453140122__b30519641293626">0</strong> indicates equal.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p18420335114811">Return type: integer</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p3420935144815">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen16421735104820"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_cmp</span><span class="p">(</span><span class="s1">'["a", "b"]'</span><span class="p">,</span><span class="w"> </span><span class="s1">'{"a":1, "b":2}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_cmp</span>
|
|
<span class="c1">-----------</span>
|
|
<span class="w"> </span><span class="o">-</span><span class="mi">1</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section112731439154819"><h4 class="sectiontitle">jsonb_exists(jsonb, text)</h4><p id="EN-US_TOPIC_0000001453140122__p10264739124818">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b178108703593626">?</strong>, which determines whether all elements in the string array <em id="EN-US_TOPIC_0000001453140122__i93687259293626">$2</em> exist at the top layer of <em id="EN-US_TOPIC_0000001453140122__i16964879793626">$1</em> in the form of <strong id="EN-US_TOPIC_0000001453140122__b214463964693626">key\elem\scalar</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1726463911483">Return type: Boolean</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p17264163915483">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1126473912481"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_exists</span><span class="p">(</span><span class="s1">'["1",2,3]'</span><span class="p">,</span><span class="w"> </span><span class="s1">'1'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_exists</span>
|
|
<span class="c1">--------------</span>
|
|
<span class="w"> </span><span class="n">t</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section4575121720490"><h4 class="sectiontitle">jsonb_exists_any(jsonb, text[])</h4><p id="EN-US_TOPIC_0000001453140122__p9566417134914">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b17168461493626">?|</strong>, which determines whether all elements in the string array <em id="EN-US_TOPIC_0000001453140122__i109532561093626">$2</em> exist at the top layer of <em id="EN-US_TOPIC_0000001453140122__i5894670693626">$1</em> in the form of <strong id="EN-US_TOPIC_0000001453140122__b159262539293626">key\elem\scalar</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p12566101744918">Return type:</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p35661117124910">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1956618176499"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_exists_any</span><span class="p">(</span><span class="s1">'["1","2",3]'</span><span class="p">,</span><span class="w"> </span><span class="s1">'{1, 2, 4}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_exists_any</span>
|
|
<span class="c1">------------------</span>
|
|
<span class="w"> </span><span class="n">t</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section239211388495"><h4 class="sectiontitle">jsonb_exists_all(jsonb, text[])</h4><p id="EN-US_TOPIC_0000001453140122__p2382538194911">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b181347433793626">?&</strong>, which determines whether all elements in the string array <em id="EN-US_TOPIC_0000001453140122__i31476302793626">$2</em> exist at the top layer of <em id="EN-US_TOPIC_0000001453140122__i76386134693626">$1</em> in the form of <strong id="EN-US_TOPIC_0000001453140122__b177191800493626">key\elem\scalar</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p938213818491">Return type:</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p838283817494">bool</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p183823384496">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen16383143864914"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_exists_all</span><span class="p">(</span><span class="s1">'["1","2",3]'</span><span class="p">,</span><span class="w"> </span><span class="s1">'{1, 2}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_exists_all</span>
|
|
<span class="c1">------------------</span>
|
|
<span class="w"> </span><span class="n">t</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section257324313494"><h4 class="sectiontitle">jsonb_contained(jsonb, jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p1356144312493">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b5836336493626"><@</strong>, which determines whether all elements in the string array <em id="EN-US_TOPIC_0000001453140122__i181344202193626">$1</em> exist at the top layer of <em id="EN-US_TOPIC_0000001453140122__i87911087793626">$2</em>.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p12561104313492">Return type: Boolean</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p856164319495">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen956134315492"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_contained</span><span class="p">(</span><span class="s1">'[1,2,3]'</span><span class="p">,</span><span class="w"> </span><span class="s1">'[1,2,3,4]'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_contained</span>
|
|
<span class="c1">-----------------</span>
|
|
<span class="w"> </span><span class="n">t</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section103345473494"><h4 class="sectiontitle">jsonb_contains(jsonb, jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p633014704912">Description: Same as the operator <strong id="EN-US_TOPIC_0000001453140122__b108476142693626">@></strong>, which determines whether all elements in the string array <em id="EN-US_TOPIC_0000001453140122__i138143355593626">$2</em> exist at the top layer of <em id="EN-US_TOPIC_0000001453140122__i24249095493626">$1</em>.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p3330147194912">Return type: Boolean</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p113301047124917">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen333011471496"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_contains</span><span class="p">(</span><span class="s1">'{"a":1, "b":2, "c":3}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">,</span><span class="w"> </span><span class="s1">'{"a":1}'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_contains</span>
|
|
<span class="c1">-----------------</span>
|
|
<span class="w"> </span><span class="n">t</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section59371750124917"><h4 class="sectiontitle">jsonb_concat(jsonb, jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p17934195014913">Description: Combines two JSONB objects into one.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p1193416504492">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p493412506493">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1293445015492"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_concat</span><span class="p">(</span><span class="s1">'{"a":1, "b":2}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">,</span><span class="w"> </span><span class="s1">'{"c":3, "d":4}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_concat</span>
|
|
<span class="c1">----------------------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"a"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">"b"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="ss">"c"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="ss">"d"</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section196465512493"><h4 class="sectiontitle">jsonb_delete(jsonb, text)</h4><p id="EN-US_TOPIC_0000001453140122__p66115556497">Description: Deletes the key-value pair corresponding to the key value in jsonb.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p17611255204912">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p12619551494">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen2062455174917"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_delete</span><span class="p">(</span><span class="s1">'{"a":1, "b":2}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">,</span><span class="w"> </span><span class="s1">'a'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_delete</span>
|
|
<span class="c1">--------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"b"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section138691358154910"><h4 class="sectiontitle">jsonb_delete_idx(jsonb, text)</h4><p id="EN-US_TOPIC_0000001453140122__p13866165820490">Description: Deletes the element corresponding to an array subscript.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p986645813498">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p48663582498">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen4867458104914"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_delete_idx</span><span class="p">(</span><span class="s1">'[0,1,2,3,4]'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_delete_idx</span>
|
|
<span class="c1">------------------</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">]</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1015211219501"><h4 class="sectiontitle">jsonb_delete_array(jsonb, VARIADIC text[])</h4><p id="EN-US_TOPIC_0000001453140122__p1614932125011">Description: Deletes multiple elements from the jsonb array.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p914919210508">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p71491229503">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen4150122105019"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_delete_array</span><span class="p">(</span><span class="s1">'["a", "b", "c"]'</span><span class="p">::</span><span class="n">jsonb</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="s1">'a'</span><span class="p">,</span><span class="w"> </span><span class="s1">'b'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_delete_array</span>
|
|
<span class="c1">--------------------</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="ss">"c"</span><span class="p">]</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section205563575017"><h4 class="sectiontitle">jsonb_delete_path(jsonb, text[])</h4><p id="EN-US_TOPIC_0000001453140122__p1755211575017">Description: Deletes elements of a specified path from the jsonb array.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p13552157505">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p115524525014">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen255385125019"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_delete_path</span><span class="p">(</span><span class="s1">'{"a":{"b":{"c":1, "d":2}}, "e":3}'</span><span class="p">::</span><span class="n">jsonb</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">[</span><span class="s1">'a'</span><span class="p">,</span><span class="w"> </span><span class="s1">'b'</span><span class="p">]);</span>
|
|
<span class="w"> </span><span class="n">jsonb_delete_path</span>
|
|
<span class="c1">-------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"a"</span><span class="p">:</span><span class="w"> </span><span class="err">{}</span><span class="p">,</span><span class="w"> </span><span class="ss">"e"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section93001293509"><h4 class="sectiontitle">jsonb_set(target jsonb, path text[], new_value jsonb [, create_missing boolean])</h4><p id="EN-US_TOPIC_0000001453140122__p429812911501">Description: Returns <em id="EN-US_TOPIC_0000001453140122__i99493169593626">target</em> with the section designated by <em id="EN-US_TOPIC_0000001453140122__i114765361193626">path</em> replaced by <em id="EN-US_TOPIC_0000001453140122__i161927821493626">new_value</em>, or with <em id="EN-US_TOPIC_0000001453140122__i42399688293626">new_value</em> added if <strong id="EN-US_TOPIC_0000001453140122__b122941622293626">create_missing</strong> is <strong id="EN-US_TOPIC_0000001453140122__b86756231293626">true</strong> (<strong id="EN-US_TOPIC_0000001453140122__b191657694593626">true</strong> by default) and the item designated by <em id="EN-US_TOPIC_0000001453140122__i118513564193626">path</em> does not exist. As with the path-oriented operators, negative integers that appear in <em id="EN-US_TOPIC_0000001453140122__i144662790493626">path</em> count from the end of JSON arrays.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p129819965020">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p929810945018">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1229819925014"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_set</span><span class="p">(</span><span class="s1">'[{"f1":1,"f2":null},2,null,3]'</span><span class="p">,</span><span class="w"> </span><span class="s1">'{0,f1}'</span><span class="p">,</span><span class="s1">'[2,3,4]'</span><span class="p">,</span><span class="w"> </span><span class="k">false</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_set</span>
|
|
<span class="c1">---------------------------------------------</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="ss">"f1"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">],</span><span class="w"> </span><span class="ss">"f2"</span><span class="p">:</span><span class="w"> </span><span class="k">null</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section7885131217509"><h4 class="sectiontitle">jsonb_pretty(jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p1884201213503">Description: Returns in indented JSON text.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p108841912115020">Return type: jsonb</p>
|
|
<div class="p" id="EN-US_TOPIC_0000001453140122__p17884112205014">Example:<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen128841812185016"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span>
|
|
<span class="normal">11</span>
|
|
<span class="normal">12</span>
|
|
<span class="normal">13</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_pretty</span><span class="p">(</span><span class="s1">'{"a":{"b":{"c":1, "d":2}}, "e":3}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_pretty</span>
|
|
<span class="c1">---------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="o">+</span>
|
|
<span class="w"> </span><span class="ss">"a"</span><span class="p">:</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="o">+</span>
|
|
<span class="w"> </span><span class="ss">"b"</span><span class="p">:</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="o">+</span>
|
|
<span class="w"> </span><span class="ss">"c"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="o">+</span>
|
|
<span class="w"> </span><span class="ss">"d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">+</span>
|
|
<span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="o">+</span>
|
|
<span class="w"> </span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="o">+</span>
|
|
<span class="w"> </span><span class="ss">"e"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="o">+</span>
|
|
<span class="w"> </span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section5328819115015"><h4 class="sectiontitle">jsonb_insert(target jsonb, path text[], new_value jsonb [, insert_after boolean])</h4><p id="EN-US_TOPIC_0000001453140122__p03261619105011">Description: Returns <strong id="EN-US_TOPIC_0000001453140122__b180239765093626">target</strong> and inserts <strong id="EN-US_TOPIC_0000001453140122__b144244985993626">new_value</strong>. If the <strong id="EN-US_TOPIC_0000001453140122__b67203050293626">target</strong> specified by path is in the JSONB array, <strong id="EN-US_TOPIC_0000001453140122__b101477269393626">new_value</strong> is inserted before the target or after <strong id="EN-US_TOPIC_0000001453140122__b151543785293626">insert_after</strong> is set to <strong id="EN-US_TOPIC_0000001453140122__b153773221293626">true</strong> (<strong id="EN-US_TOPIC_0000001453140122__b1746055393626">false</strong> by default). If the <strong id="EN-US_TOPIC_0000001453140122__b164968075093626">target</strong> is specified by path in the JSONB object, <strong id="EN-US_TOPIC_0000001453140122__b8979824693626">new_value</strong> is inserted only when the <strong id="EN-US_TOPIC_0000001453140122__b142351531293626">target</strong> does not exist. As with the path-oriented operators, negative integers that appear in <em id="EN-US_TOPIC_0000001453140122__i194849439393626">path</em> count from the end of JSON arrays.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p143262192506">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p153264192507">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen193272196508"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">jsonb_insert</span><span class="p">(</span><span class="s1">'{"a": [0,1,2]}'</span><span class="p">,</span><span class="w"> </span><span class="s1">'{a, 1}'</span><span class="p">,</span><span class="w"> </span><span class="s1">'"new_value"'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">jsonb_insert</span>
|
|
<span class="c1">-------------------------------</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="ss">"a"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="ss">"new_value"</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">]</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section162902216509"><h4 class="sectiontitle">ts_headline([ config regconfig, ] document jsonb, query tsquery [, options text ])</h4><p id="EN-US_TOPIC_0000001453140122__p14629182210507">Description: Highlights the jsonb search result.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p13629142215013">Return type: jsonb</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p19629122135010">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen1462962225010"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">ts_headline</span><span class="p">(</span><span class="s1">'english'</span><span class="p">,</span><span class="w"> </span><span class="s1">'[{"id":9928,"user_id":4562,"user_name":"9LOHR4","create_time":"2021-06-22T16:28:16.504518+08:00"}, {"id":9959,"user_id":5524,"user_name":"YID07D","create_time":"2021-06-22T16:28:16.557228+08:00"}, {"id":9962,"user_id":7991,"user_name":"7C6QOM","create_time":"2021-06-22T16:28:16.56234+08:00"}]'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">to_tsquery</span><span class="p">(</span><span class="s1">'english'</span><span class="p">,</span><span class="w"> </span><span class="s1">'9LOHR4'</span><span class="p">),</span><span class="w"> </span><span class="s1">'StartSel = <, StopSel = >'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">ts_headline</span><span class="w"> </span>
|
|
<span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="ss">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">9928</span><span class="p">,</span><span class="w"> </span><span class="ss">"user_id"</span><span class="p">:</span><span class="w"> </span><span class="mi">4562</span><span class="p">,</span><span class="w"> </span><span class="ss">"user_name"</span><span class="p">:</span><span class="w"> </span><span class="ss">"<9LOHR4>"</span><span class="p">,</span><span class="w"> </span><span class="ss">"create_time"</span><span class="p">:</span><span class="w"> </span><span class="ss">"2021-06-22T16:28:16.504518+08:00"</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="ss">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">9959</span><span class="p">,</span><span class="w"> </span><span class="ss">"user_id"</span><span class="p">:</span><span class="w"> </span><span class="mi">5524</span><span class="p">,</span><span class="w"> </span><span class="ss">"user_name"</span><span class="p">:</span><span class="w"> </span><span class="ss">"YID07D"</span><span class="p">,</span><span class="w"> </span><span class="ss">"create_time"</span><span class="p">:</span><span class="w"> </span><span class="ss">"2021-06-22T16:28:16.557228+08:00"</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="ss">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">9962</span><span class="p">,</span><span class="w"> </span><span class="ss">"user_id"</span><span class="p">:</span><span class="w"> </span><span class="mi">7991</span><span class="p">,</span><span class="w"> </span><span class="ss">"user_name"</span><span class="p">:</span><span class="w"> </span><span class="ss">"7C6QOM"</span><span class="p">,</span><span class="w"> </span><span class="ss">"create_time"</span><span class="p">:</span><span class="w"> </span><span class="ss">"2021-06-22T16:28:16.56234+08:00"</span><span class="err">}</span><span class="p">]</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001453140122__section1355033265010"><h4 class="sectiontitle">json_to_tsvector(config regconfig, ] json, jsonb)</h4><p id="EN-US_TOPIC_0000001453140122__p7610393509">Description: Converts the json format to the tsvector file format that supports full-text search.</p>
|
|
<p id="EN-US_TOPIC_0000001453140122__p16610397502">Return type: jsonb</p>
|
|
<div class="p" id="EN-US_TOPIC_0000001453140122__p168391501">Example:<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001453140122__screen46439135010"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">json_to_tsvector</span><span class="p">(</span><span class="s1">'{"a":1, "b":2, "c":3}'</span><span class="p">::</span><span class="n">json</span><span class="p">,</span><span class="w"> </span><span class="n">to_jsonb</span><span class="p">(</span><span class="s1">'key'</span><span class="p">::</span><span class="nb">text</span><span class="p">));</span>
|
|
<span class="w"> </span><span class="n">json_to_tsvector</span>
|
|
<span class="c1">------------------</span>
|
|
<span class="w"> </span><span class="s1">'b'</span><span class="p">:</span><span class="mi">2</span><span class="w"> </span><span class="s1">'c'</span><span class="p">:</span><span class="mi">4</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_06_0041.html">JSON/JSONB Functions and Operators</a></div>
|
|
</div>
|
|
</div>
|
|
|