diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2023-04-07 11:47:07 -0400 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2023-04-07 11:47:07 -0400 |
| commit | 888f2ea0a81ff171087bdd1c5c1eeda3b78d73d4 (patch) | |
| tree | b596640ca993a5fd85568e173b0a8e48a7d69071 /doc/src | |
| parent | cd82e5c79d145dddd7a30ed35e4d3b83945b56f3 (diff) | |
Add array_sample() and array_shuffle() functions.
These are useful in Monte Carlo applications.
Martin Kalcher, reviewed/adjusted by Daniel Gustafsson and myself
Discussion: https://postgr.es/m/9d160a44-7675-51e8-60cf-6d64b76db831@aboutsource.net
Diffstat (limited to 'doc/src')
| -rw-r--r-- | doc/src/sgml/func.sgml | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index dc44a74eb25..4211d31f307 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -16053,7 +16053,7 @@ SELECT js, js IS JSON ARRAY "array?" FROM (VALUES ('123'), ('"abc"'), ('{"a": "b"}'), ('[1,2]'),('abc')) foo(js); - js | json? | scalar? | object? | array? + js | json? | scalar? | object? | array? ------------+-------+---------+---------+-------- 123 | t | t | f | f "abc" | t | t | f | f @@ -18779,6 +18779,48 @@ SELECT NULLIF(value, '(none)') ... <row> <entry role="func_table_entry"><para role="func_signature"> + <indexterm> + <primary>array_sample</primary> + </indexterm> + <function>array_sample</function> ( <parameter>array</parameter> <type>anyarray</type>, <parameter>n</parameter> <type>integer</type> ) + <returnvalue>anyarray</returnvalue> + </para> + <para> + Returns an array of <parameter>n</parameter> items randomly selected + from <parameter>array</parameter>. <parameter>n</parameter> may not + exceed the length of <parameter>array</parameter>'s first dimension. + If <parameter>array</parameter> is multi-dimensional, + an <quote>item</quote> is a slice having a given first subscript. + </para> + <para> + <literal>array_sample(ARRAY[1,2,3,4,5,6], 3)</literal> + <returnvalue>{2,6,1}</returnvalue> + </para> + <para> + <literal>array_sample(ARRAY[[1,2],[3,4],[5,6]], 2)</literal> + <returnvalue>{{5,6},{1,2}}</returnvalue> + </para></entry> + </row> + + <row> + <entry role="func_table_entry"><para role="func_signature"> + <indexterm> + <primary>array_shuffle</primary> + </indexterm> + <function>array_shuffle</function> ( <type>anyarray</type> ) + <returnvalue>anyarray</returnvalue> + </para> + <para> + Randomly shuffles the first dimension of the array. + </para> + <para> + <literal>array_shuffle(ARRAY[[1,2],[3,4],[5,6]])</literal> + <returnvalue>{{5,6},{1,2},{3,4}}</returnvalue> + </para></entry> + </row> + + <row> + <entry role="func_table_entry"><para role="func_signature"> <indexterm id="function-array-to-string"> <primary>array_to_string</primary> </indexterm> |
