| <div class="codehilite"><pre><span></span><code><span class="c1">-- element_at</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">element_at</span><span class="p">(</span><span class="nb">array</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="mi">2</span><span class="p">);</span> |
| <span class="o">+</span><span class="c1">-----------------------------+</span> |
| <span class="o">|</span><span class="n">element_at</span><span class="p">(</span><span class="nb">array</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="mi">2</span><span class="p">)</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">-----------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">-----------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">element_at</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'a'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">'b'</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span> |
| <span class="o">+</span><span class="c1">------------------------------+</span> |
| <span class="o">|</span><span class="n">element_at</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</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">b</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">------------------------------+</span> |
| |
| <span class="c1">-- map</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="s1">'2'</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="s1">'4'</span><span class="p">);</span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</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="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| <span class="o">|</span><span class="err">{</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="o">-></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="mi">0</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="mi">4</span><span class="err">}</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| |
| <span class="c1">-- map_concat</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">map_concat</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'a'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">'b'</span><span class="p">),</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="s1">'c'</span><span class="p">));</span> |
| <span class="o">+</span><span class="c1">--------------------------------------+</span> |
| <span class="o">|</span><span class="n">map_concat</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</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">b</span><span class="p">),</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">))</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">--------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">a</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="n">b</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">--------------------------------------+</span> |
| |
| <span class="c1">-- map_contains_key</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">map_contains_key</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'a'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">'b'</span><span class="p">),</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span> |
| <span class="o">+</span><span class="c1">------------------------------------+</span> |
| <span class="o">|</span><span class="n">map_contains_key</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</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">b</span><span class="p">),</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">map_contains_key</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'a'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">'b'</span><span class="p">),</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span> |
| <span class="o">+</span><span class="c1">------------------------------------+</span> |
| <span class="o">|</span><span class="n">map_contains_key</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</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">b</span><span class="p">),</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">------------------------------------+</span> |
| |
| <span class="c1">-- map_entries</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">map_entries</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'a'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">'b'</span><span class="p">));</span> |
| <span class="o">+</span><span class="c1">----------------------------+</span> |
| <span class="o">|</span><span class="n">map_entries</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</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">b</span><span class="p">))</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">----------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="err">}</span><span class="p">]</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">----------------------------+</span> |
| |
| <span class="c1">-- map_from_arrays</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">map_from_arrays</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="s1">'2'</span><span class="p">,</span><span class="w"> </span><span class="s1">'4'</span><span class="p">));</span> |
| <span class="o">+</span><span class="c1">---------------------------------------------+</span> |
| <span class="o">|</span><span class="n">map_from_arrays</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">))</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">---------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="o">-></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="mi">0</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="mi">4</span><span class="err">}</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">---------------------------------------------+</span> |
| |
| <span class="c1">-- map_from_entries</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">map_from_entries</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">struct</span><span class="p">(</span><span class="mi">1</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">struct</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">'b'</span><span class="p">)));</span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------+</span> |
| <span class="o">|</span><span class="n">map_from_entries</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">struct</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">),</span><span class="w"> </span><span class="n">struct</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">)))</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">a</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="n">b</span><span class="err">}</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------+</span> |
| |
| <span class="c1">-- map_keys</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">map_keys</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'a'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">'b'</span><span class="p">));</span> |
| <span class="o">+</span><span class="c1">-------------------------+</span> |
| <span class="o">|</span><span class="n">map_keys</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</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">b</span><span class="p">))</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">-------------------------+</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="o">|</span> |
| <span class="o">+</span><span class="c1">-------------------------+</span> |
| |
| <span class="c1">-- map_values</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">map_values</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'a'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">'b'</span><span class="p">));</span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| <span class="o">|</span><span class="n">map_values</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</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">b</span><span class="p">))</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">]</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| |
| <span class="c1">-- str_to_map</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">str_to_map</span><span class="p">(</span><span class="s1">'a:1,b:2,c:3'</span><span class="p">,</span><span class="w"> </span><span class="s1">','</span><span class="p">,</span><span class="w"> </span><span class="s1">':'</span><span class="p">);</span> |
| <span class="o">+</span><span class="c1">-----------------------------+</span> |
| <span class="o">|</span><span class="n">str_to_map</span><span class="p">(</span><span class="n">a</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="n">b</span><span class="p">:</span><span class="mi">2</span><span class="p">,</span><span class="k">c</span><span class="p">:</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="p">,,</span><span class="w"> </span><span class="p">:)</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">-----------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="n">a</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">-----------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">str_to_map</span><span class="p">(</span><span class="s1">'a'</span><span class="p">);</span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| <span class="o">|</span><span class="n">str_to_map</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="p">,,</span><span class="w"> </span><span class="p">:)</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="n">a</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="k">NULL</span><span class="err">}</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| |
| <span class="c1">-- try_element_at</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">try_element_at</span><span class="p">(</span><span class="nb">array</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="mi">2</span><span class="p">);</span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| <span class="o">|</span><span class="n">try_element_at</span><span class="p">(</span><span class="nb">array</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="mi">2</span><span class="p">)</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">try_element_at</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'a'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">'b'</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span> |
| <span class="o">+</span><span class="c1">----------------------------------+</span> |
| <span class="o">|</span><span class="n">try_element_at</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</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">b</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">----------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span> |
| <span class="o">+</span><span class="c1">----------------------------------+</span> |
| </code></pre></div> |