mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Documentation for generate_series() functions committed a few days ago.
This commit is contained in:
		@@ -1,5 +1,5 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
$PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.185 2003/12/26 21:30:48 tgl Exp $
 | 
					$PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.186 2004/02/05 22:54:36 joe Exp $
 | 
				
			||||||
PostgreSQL documentation
 | 
					PostgreSQL documentation
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -8199,6 +8199,96 @@ AND
 | 
				
			|||||||
  </sect2>
 | 
					  </sect2>
 | 
				
			||||||
 </sect1>
 | 
					 </sect1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 <sect1 id="functions-srf">
 | 
				
			||||||
 | 
					  <title>Set Returning Functions</title>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <indexterm zone="functions-srf">
 | 
				
			||||||
 | 
					   <primary>set returning functions</primary>
 | 
				
			||||||
 | 
					   <secondary>functions</secondary>
 | 
				
			||||||
 | 
					  </indexterm>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <para>
 | 
				
			||||||
 | 
					   This section describes functions that possibly return more than one row.
 | 
				
			||||||
 | 
					   Currently the only functions in this class are series generating functions,
 | 
				
			||||||
 | 
					   as detailed in <xref linkend="functions-srf-series">.
 | 
				
			||||||
 | 
					  </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <table id="functions-srf-series">
 | 
				
			||||||
 | 
					   <title>Series Generating Functions</title>
 | 
				
			||||||
 | 
					   <tgroup cols="4">
 | 
				
			||||||
 | 
					    <thead>
 | 
				
			||||||
 | 
					     <row>
 | 
				
			||||||
 | 
					      <entry>Function</entry>
 | 
				
			||||||
 | 
					      <entry>Argument Type</entry>
 | 
				
			||||||
 | 
					      <entry>Return Type</entry>
 | 
				
			||||||
 | 
					      <entry>Description</entry>
 | 
				
			||||||
 | 
					     </row>
 | 
				
			||||||
 | 
					    </thead>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <tbody>
 | 
				
			||||||
 | 
					     <row>
 | 
				
			||||||
 | 
					      <entry><literal><function>generate_series</function>(<parameter>start</parameter>, <parameter>stop</parameter>)</literal></entry>
 | 
				
			||||||
 | 
					      <entry><type>int</type> or <type>bigint</type></entry>
 | 
				
			||||||
 | 
					      <entry><type>setof int</type> or <type>setof bigint</type> (same as argument type)</entry>
 | 
				
			||||||
 | 
					      <entry>
 | 
				
			||||||
 | 
					       Generate a series of values, from <parameter>start</parameter> to <parameter>stop</parameter>
 | 
				
			||||||
 | 
					       with a step size of one.
 | 
				
			||||||
 | 
					      </entry>
 | 
				
			||||||
 | 
					     </row>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <row>
 | 
				
			||||||
 | 
					      <entry><literal><function>generate_series</function>(<parameter>start</parameter>, <parameter>stop</parameter>, <parameter>step</parameter>)</literal></entry>
 | 
				
			||||||
 | 
					      <entry><type>int</type> or <type>bigint</type></entry>
 | 
				
			||||||
 | 
					      <entry><type>setof int</type> or <type>setof bigint</type> (same as argument type)</entry>
 | 
				
			||||||
 | 
					      <entry>
 | 
				
			||||||
 | 
					       Generate a series of values, from <parameter>start</parameter> to <parameter>stop</parameter>
 | 
				
			||||||
 | 
					       with a step size of <parameter>step</parameter>.
 | 
				
			||||||
 | 
					      </entry>
 | 
				
			||||||
 | 
					     </row>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    </tbody>
 | 
				
			||||||
 | 
					   </tgroup>
 | 
				
			||||||
 | 
					  </table>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <para>
 | 
				
			||||||
 | 
					   When <parameter>step</parameter> is positive, zero rows are returned if
 | 
				
			||||||
 | 
					   <parameter>start</parameter> is greater than <parameter>stop</parameter>.
 | 
				
			||||||
 | 
					   Conversely, when <parameter>step</parameter> is negative, zero rows are
 | 
				
			||||||
 | 
					   returned if <parameter>start</parameter> is less than <parameter>stop</parameter>.
 | 
				
			||||||
 | 
					   Zero rows are also returned for <literal>NULL</literal> inputs. It is an error
 | 
				
			||||||
 | 
					   for <parameter>step</parameter> to be zero. Some examples follow:
 | 
				
			||||||
 | 
					<programlisting>
 | 
				
			||||||
 | 
					select * from generate_series(2,4);
 | 
				
			||||||
 | 
					 generate_series
 | 
				
			||||||
 | 
					-----------------
 | 
				
			||||||
 | 
					               2
 | 
				
			||||||
 | 
					               3
 | 
				
			||||||
 | 
					               4
 | 
				
			||||||
 | 
					(3 rows)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					select * from generate_series(5,1,-2);
 | 
				
			||||||
 | 
					 generate_series
 | 
				
			||||||
 | 
					-----------------
 | 
				
			||||||
 | 
					               5
 | 
				
			||||||
 | 
					               3
 | 
				
			||||||
 | 
					               1
 | 
				
			||||||
 | 
					(3 rows)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					select * from generate_series(4,3);
 | 
				
			||||||
 | 
					 generate_series
 | 
				
			||||||
 | 
					-----------------
 | 
				
			||||||
 | 
					(0 rows)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					select current_date + s.a as dates from generate_series(0,14,7) as s(a);
 | 
				
			||||||
 | 
					   dates
 | 
				
			||||||
 | 
					------------
 | 
				
			||||||
 | 
					 2004-02-05
 | 
				
			||||||
 | 
					 2004-02-12
 | 
				
			||||||
 | 
					 2004-02-19
 | 
				
			||||||
 | 
					(3 rows)
 | 
				
			||||||
 | 
					</programlisting>
 | 
				
			||||||
 | 
					  </para>
 | 
				
			||||||
 | 
					 </sect1>
 | 
				
			||||||
</chapter>
 | 
					</chapter>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<!-- Keep this comment at the end of the file
 | 
					<!-- Keep this comment at the end of the file
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user