ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î


ƯÁ¤ÇÑ ´ÞÀÇ »ýÀÏÀÎ »ç¶÷ ¸®½ºÆ® °¡Á®¿À±â
12³â Àü
ƯÁ¤¿ù¿¡ ´ëÇÑ »ýÀÏÀÎ »ç¶÷µéÀÇ ¸®½ºÆ®¸¦ »Ì´Â Äõ¸®¹®ÀÔ´Ï´Ù.


´Ü¼øÈ÷ ¾ç·Â¸¸ »ç¿ëÇÑ´Ù¸é ¾ÆÁÖ ½±°Ô ÇÒ ¼ö ÀÖ°í,
À½·ÂÆ÷ÇÔÇÏ´õ¶óµµ ¿À´Ã ³¯Â¥ (ƯÁ¤ÀÏ) ÀÇ »ýÀÏ ¸ñ·Ïµµ ½±°Ô ³ª¿À´Âµ¥..
À½·ÂÀÌ Æ÷ÇÔµÈ Æ¯Á¤ ´Þ.. ÀÌ°Å »ý°¢º¸´Ù »ó´çÈ÷ º¹ÀâÇØÁö³×¿ä..
ÀÏ´Ü À½·Â »ýÀÏ µ¥ÀÌŸ°¡ °ÅÀÇ ¾ø¾î Á¦´ë·Î Å×½ºÆ®´Â ¾È µÇ¾ú½À´Ï´Ù.
´ëÃæ Çغ¸´Ï Àß ³ª¿À´Â°Å °°½À´Ï´Ù.
ºñ¿ëÀº Å©°Ô ¸¶´Ï ¾È µå´Â°Å °°Àºµ¥... ÀÏ´Ü Äõ¸®¹®¿¡¼­ ¹Ýº¹ÀÌ Á» ¸¹Àºµ¥...
ÀÌ°É ¾îij Á» °£´ÜÇÏ°Ô Ã³¸®ÇÒ ¹æ¹ýÀº ¾øÀ»±î¿ä? ¹Ýº¹±¸¹®À» ÇÔ¼ö·Î ¸¸µé±ä Á».... ºäµµ °ï¶õÇÏ°í..
ÀÇ°ßÀÖÀ¸½ÅºÐ ´ñ±Û ´Þ¾ÆÁÖ¼¼¿ä..

PostgreSQL ¿ëÀÔ´Ï´Ù¸¸.. Äõ¸®¹®ÀÌ Æ¯º°ÇÑ ºÎºÐÀÌ ¾øÀ¸¹Ç·Î Ÿ DBMS ¿¡¼­µµ ¾ÆÁÖ Á¶±Ý¸¸ °íÄ¡¸é ¾ó¸¶´øÁö Àû¿ë °¡´ÉÇÒ °Å °°½À´Ï´Ù.
(ÀÌÇÏ Á¸Äª »ý·«)


member - ȸ¿øÅ×À̺íÁß ÀϺÎ
user_id      text    : »ç¿ëÀÚ ¾ÆÀ̵ð
birth_year  smallint : »ý³â¿ùÀÏ Áß ³âµµ
birth_md    char(4)  : »ý³â¿ùÀÏ Áß ¿ùÀÏ
solar          boolean  : ¾ç/À½ ±¸ºÐ (¾ç·Â true)

lunar - ¾ç/À½·Â º¯È¯ Å×À̺í Áß ÀϺÎ
lumar_md char(4)  : À½·Â ³â¿ùÀÏ Áß ¿ùÀÏ
solars      integer  : À½·Â¿¡ ÇØ´çÇÏ´Â ¾ç·ÂÀ» ³â¿ùÀÏ·Î ºÙ¿© ¸¸µç ¼ýÀÚÇü
                            date ÇüÀÇ Ä÷³µµ ÀÖÁö¸¸.. to_char µîÀÇ ÇÔ¼ö¸¦ ¾²¾ß Çϱ⠶§¹®¿¡..
yun        boolean  : À±´Þ ¿©ºÎ (À±´Þ true)

select lunar_y, lunar_md, solar, yun, solars from lunar;
-------+---------+------------+-------+-----------
lunar_y  lunar_md    solar      yun    solars
-------+---------+------------+-------+-----------
  1899 |    1201 | 1900-01-01 | f    | 19000101
  1899 |    1202 | 1900-01-02 | f    | 19000102
  1899 |    1203 | 1900-01-03 | f    | 19000103
  1899 |    1204 | 1900-01-04 | f    | 19000104
  ...........


<Âü°í>
  1. PostgreSQL ¿¡¼­´Â ³¯Â¥ÇüÀÌ ¾ö°ÝÇϱ⠶§¹®¿¡ À½·ÂÀ» Á¦´ë·Î Ç¥ÇöÇÒ ¼ö ¾ø´Ù.
      ÀÌ·²Å׸é 1990-02-30 °ú °°Àº °æ¿ìÀÌ´Ù.
      ±×·¡¼­ À½·Â Ç¥Çö ¹æ¹ýÁß ³âµµ¿Í ¿ùÀÏÀ» ºÐ¸®ÇÏ°í ³âµµ´Â ¼ýÀÚ ¿ùÀÏÀº ¹®ÀÚ·Î Çß´Ù.
  2. ¾ç/À½·ÂÀ» ÇÁ·Î±×·¥À¸·Î º¯È¯ÇÒ ¼öµµ ÀÖÁö¸¸ ¿Ïº®ÇÏÁö ¾ÊÀ¸¹Ç·Î
      µ¹¾Æ´Ù´Ï´Â 1900 ~ 2200 ±îÁöÀÇ À½·Â µ¥ÀÌŸ ¸¦ ÀÌ¿ëÇÏ¿´´Ù.
  3. À±´ÞÀ» ÀüÇô °í·ÁÇÏÁö ¾Ê¾Ò´Ù. ¸¸ÀÏ À±´ÞÀ̶ó¸é yun À» true ·Î ÇÏ¸é µÈ´Ù.
  4. »ýÀÏ¿¡ ´ëÇÑ ³âµµ´Â ÇÊ¿ä¾øÀ¸³ª, ƯÁ¤¿ù¿¡ ´ëÇÑ ³âµµ´Â ÇÊ¿äÇÏ´Ù. (³â¸¶´Ù À½·Â ³¯Â¥°¡ Ʋ¸®¹Ç·Î)


¸ÕÀú ƯÁ¤ ³â¿ù¿¡ ´ëÇÑ ¸¶Áö¸·³¯À» ±¸ÇÏ´Â ÇÔ¼ö¸¦ ¸¸µç´Ù.
¹°·Ð ¸¸µé ÇÊ¿ä¾øÀÌ ¹Ù·Î ÇØ´ç À§Ä¡¿¡ Áý¾î ³Ö¾îµµ ¾Æ¹«·± »ó°üÀº ¾øÁö¸¸,
¸¶Áö¸·ÀÏÀ» ±¸ÇÏ´Â ÀÏÀº Á¾Á¾ ¹ß»ýÇÒ ¼ö Àֱ⠶§¹®¿¡ ¹Ì¸® ÇÔ¼ö·Î ¸¸µé¾î³õÀ¸¸é ÆíÇÏ´Ù.

create or replace function last_date (integer) returns date as
$$
  select (to_date($1, 'YYYYMM') + interval '1 month' - interval '1 day')::date;
$$ language sql;


select last_date(200702);                                            
last_date  
------------
2007-02-28

ÀÌ·±½ÄÀ¸·Î ³ª¿É´Ï´Ù.


prepare get_birthday (integer) as
(
  select * from member
  where (birth_md between
                                to_char(last_date($1), 'MM01')
                          and to_char(last_date($1), 'MMDD')
            and solar = true
            )
    or case when
            (select lunar_md from lunar
            where solars = ($1 || '01')::int
                and yun = false
            )
              >
            (select lunar_md from lunar
            where solars = to_char(last_date($1), 'YYYYMMDD')::int
                and yun = false
            )
        then (
                  (birth_md between
                                      (select lunar_md from lunar
                                      where solars = ($1 || '01')::int
                                          and yun = false
                                      )
                                and '1231'
                  )
                  or
                  (birth_md between
                                      '0101'
                                and (select lunar_md from lunar
                                      where solars = to_char(last_date($1), 'YYYYMMDD')::int
                                          and yun = false
                                      )
                  )
                  and solar = false
                )
        else
                (birth_md between
                                    (select lunar_md from lunar
                                    where solars = ($1 || '01')::int
                                        and yun = false
                                    )
                              and (select lunar_md from lunar
                                    where solars = to_char(last_date($1), 'YYYYMMDD')::int
                                        and yun = false
                                    )
                and solar = false
                )
        end
  order by user_id
);




»þ¿ë¹ýÀº
execute get_birthday(200706);

prepare ·Î ÁöÁ¤ÇÏÁö ¾Ê°í
Àú°Í ÀÚü¸¦ function À¸·Î ¸¸µé°í ÇÔ¼ö ÀÎÀÚ¸¦ interger ·Î ¹Þ¾Æ ½áµµ ÁÁ°ÚÁÒ?
ÃßõÃßõ : 639 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
245
CSS Intro
244
CSS¿ë¾î Á¤¸®
243
±¹³»IP Á¤º¸ Á¶È¸Çϴ Ŭ·¡½º(php)
242
php->xml »ý¼ºÇÏ´Â class
241
socketÀÌ¿ëÇÑ Å¸»çÀÌÆ® À̹ÌÁö Àбâ
240
»çÀÌÁî°¡ Å«À̹ÌÁö À¥ÆäÀÌÁö Ãâ·Â½Ã ÀÚµ¿À¸·Î »çÀÌÁî ÁÙÀ̱â...
ƯÁ¤ÇÑ ´ÞÀÇ »ýÀÏÀÎ »ç¶÷ ¸®½ºÆ® °¡Á®¿À±â
238
PHP¿Í AjaxÀ» ÀÌ¿ëÇؼ­ µ¥ÀÌÅÍ Ã³¸®Çϱâ
237
ÆÄÀÏÀ» ¹«Á¶°Ç ´Ù¿î·Îµå ½ÃÅ°±â
236
include()¿ë À¥°æ·Î -> »ó´ë°æ·Î º¯È¯ ÇÔ¼ö
235
ºü¸¥ ÇÁ·Î¼¼¼­¸¦ À§ÇÑ ÄÚµù½ºÅ¸ÀÏ
234
¿¢¼¿(*.xls) È­ÀÏÀ» PHP¿¡¼­ Àбâ
233
ÆÄÀÏ ´Ù¿î·Îµå ÇÔ¼ö(¸ÖƼ À̾î¹Þ±â/¼ÓµµÁ¦ÇÑ)
232
Áֹεî·Ï ¹øÈ£·Î ³ªÀÌ ±¸Çϱâ
231
cURLÀ» ÀÌ¿ëÇÑ À¥ÆäÀÌÁö °¡Á®¿À±â
230
ÃÖ´ë°ø¾à¼ö ±¸Çϱâ (À¯Å¬¸®µå ¾Ë°í¸®Áò)
229
¼Ò¼öÀÎÁö È®ÀÎÇϱâ (À¯Å¬¸®µå ¾Ë°í¸®Áò)
228
¹®ÀÚ¿­À» X·Î ¸¶Å·ÇÏ´Â ÇÔ¼ö
227
ÆÄÀÏ ´Ù¿î·Îµå2 (Çì´õ ÀÌ¿ë)
226
ÀԷ¹ÞÀº IPÁÖ¼Ò¸¦ 127.0.¡Ù.1 ÇüÅ·Π¹Ù²Þ.
225
DBÀÇ ¹«ÇÑÄ«Å×°í¸® °¡Á®¿À±â
224
¾î¶² °æ·Î·Î Çؼ­ ÀÌ È¨¿¡ ¿À°Ô µÆ´ÂÁö ¾Ë¾Æ³»´Â ¹æ¹ý
223
Ç×»ó »õ·Î°íħ ÇØ´õ ¼³Á¤
222
Ç×»ó Çѱ۷Π³ª¿Àµµ·Ï ÇØ´õ¼³Á¤
221
PHP·Î ÀÛµ¿ÇÏ´Â RSS Àд ÇÔ¼ö
220
Ç÷¡½Ã ÆÄÀÏ Á¤º¸ ¾ò¾î¿À´Â ¼Ò½º(PHP)
219
¹®ÀÚ¿­À» X·Î ¸¶Å·ÇÏ´Â ÇÔ¼ö
218
¸ÖƼ ÆÄÀÏ ¾÷·Îµå ¿¹Á¦ (Flex2+PHP)
217
Flex 2 ¿Í PHP+MYSQL ¿¬µ¿ ¿¹Á¦
216
DB ³»¿ë ¿¢¼¿·Î »Ì¾Æ¿À±â ( ÆÄ¿öÆ÷ÀÎÆ®, MS ¿öµå°¡´É )
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.