9.18. ¹ÝȯÇÏ´Â ÇÔ¼öÀÇ ¼³Á¤

º»Àý¿¡¼­´Â, °¡´ÉÇÑÇÑ º¹¼öÇàÀ» ¹ÝȯÇÏ´Â ÇÔ¼ö¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. ÇöÀç, ÀÌ Å¬·¡½ºÀÇ ÇÔ¼ö¸¸ÀÌ,Table 9-39¿¡¼­ ¼³¸íÇÏ´Â, ¿¬¼Ó »ý¼º ÇÔ¼öÀÔ´Ï´Ù.

Table 9-39. ¿¬¼Ó »ý¼º ÇÔ¼ö

ÇÔ¼ö ÀμöÇü ¹ÝȯÇü ¼³¸í
generate_series(start, stop) int¶Ç´Âbigint setof int¶Ç´Âsetof bigint(ÀμöÀÇ ÇüÅÂ¿Í µ¿ÀÏ) startºÎÅÍstop±îÁö, 1À» °£°ÝÀ¸·Î ÇÏ¿© ¿¬¼ÓÇÏ´Â °ªÀ» »ý¼ºÇÕ´Ï´Ù.
generate_series(start, stop, step) int¶Ç´Âbigint setof int¶Ç´Âsetof bigint(ÀμöÀÇ ÇüÅÂ¿Í µ¿ÀÏ) start·ÎºÎÅÍstop±îÁö, step°£°ÝÀ¸·Î ÇÏ¿© ¿¬¼ÓÇÏ´Â °ªÀ» »ý¼ºÇÕ´Ï´Ù.

step°¡ ¾ç¼öÀÎ °æ¿ì,start°¡stopº¸´Ù Å©¸é 0ÇàÀÌ ¹ÝȯµË´Ï´Ù. ¹Ý´ë·Î,step°¡ À½¼öÀÎ °æ¿ì´Â,start°¡stopº¸´Ù ÀÛÀ¸¸é 0ÇàÀÌ ¹ÝȯµË´Ï´Ù. ¶Ç,NULL°¡ ÀԷµǾúÀ» °æ¿ìµµ 0ÇàÀÌ ¹ÝȯµË´Ï´Ù. step°¡ 0ÀÏ ¶§´Â ¿¡·¯°¡ µË´Ï´Ù ÀÌÇÏ¿¡ ¸î°³ÀÇ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.

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)