31.9. Informixȣȯ ¸ðµå

ecpg¸¦ Informix ȣȯ ¸ðµå¶ó´Â ¸ðµå·Î µ¿ÀÛ½Ãų ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸ðµå°¡ À¯È¿Çϸé, Informix E/SQLÀÇ InformixÇÁ¸®ÇÁ·Î¼¼¼­Ã³·³ µ¿ÀÛÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î ¸»Çϸé, À̰Ϳ¡ ÀÇÇØ ¸ÅÀÔ SQL ¸í·ÉÀ» µµÀÔÇÒ ¶§¿¡ EXEC SQLÇÁ¸®¹ÔƼºê ´ë½Å¿¡ ´Þ·¯Ç¥½Ã¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

   $int j = 3;
   $CONNECT TO :dbname;
   $CREATE TABLE test(i INT PRIMARY KEY, j INT);
   $INSERT INTO test(i, j) VALUES (7, :j);
   $COMMIT;

INFORMIX, INFORMIX_SE¶ó´Â 2°³ÀÇ È£È¯ ¸ðµå°¡ ÀÖ½À´Ï´Ù.

ȣȯ ¸ðµå¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥À» ¸µÅ©ÇÒ ¶§, ecpg¿Í ÇÔ²² º¸³»Áö´Â libcompat¿Í ¸µÅ©ÇÏ´Â °ÍÀ» ÀØÁö ¸»¾Æ ÁÖ¼¼¿ä.

ÀÌÀü¿¡ ¼³¸íÇÑ ±¸¹®»óÀÇ Àå½Ä ¿Ü¿¡µµ, Informixȣȯ ¸ðµå¿¡¼­´Â, ÀÔ·Â, Ãâ·Â, µ¥ÀÌÅÍ º¯È¯ ÇÔ¼ö, E/SQL·ÎºÎÅÍ ecpg·Î ±âÁ¸ÀÇ ¸ÅÀÔ SQL¹® º¯È¯ ÇÔ¼öµµ À̽ÄÇϰí ÀÖ½À´Ï´Ù.

Informixȣȯ ¸ðµå´Â ecpgÀÇ pgtypeslib ¶óÀ̺귯¸®¿Í ¹ÐÁ¢ÇÏ°Ô °ü°èÇϰí ÀÖ½À´Ï´Ù. pgtypeslib´Â SQL µ¥ÀÌÅÍÇü°ú CÈ£½ºÆ® ÇÁ·Î±×·¥³»ÀÇ µ¥ÀÌÅÍÇüÀ» ´ëÀÀ½Ã۰í, ´ëºÎºÐÀÇ Informixȣȯ ¸ðµå·Î Ãß°¡µÈ ÇÔ¼ö¸¦ »ç¿ëÇØ ÀÌ·¯ÇÑ CÈ£½ºÆ® ÇÁ·Î±×·¥ÇüÀ» Á¶ÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, ȣȯ ¹üÀ§´Â Á¦Çѵǰí ÀÖ½À´Ï´Ù À̰ÍÀº InformixÀÇ µ¿ÀÛÀ» º¹»çÇÏ·Á°í ÇÏÁö ¾Ê½À´Ï´Ù. À̰ÍÀ» »ç¿ëÇØ, ´Ù¼Ò °°Àº À̸§À¸·Î °°Àº ±âº» µ¿ÀÛÀ» ½Ç½ÃÇÏ´Â ÇÔ¼ö¸¦ Á¶ÀÛ, Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, Informix¸¦ »ç¿ëÇϰí ÀÖ´Ù¸é, ¿ÏÀüÇÏ°Ô Ä¡È¯µÇÁö ¾Ê½À´Ï´Ù. »Ó¸¸ ¾Æ´Ï¶ó, ÀϺÎÀÇ µ¥ÀÌÅÍÇüÀÌ ´Ù¸¨´Ï´Ù. ¿¹¸¦ µé¸é, PostgreSQL'sÀÇ ÀÏÀÚ ½Ã°¢À̳ª ½Ã°£ °£°ÝÇü¿¡¼­´Â YEAR TO MINUTE¿Í °°Àº ¹üÀ§¸¦ °¡ÁöÁö ¾ÊÀ¸¹Ç·Î, À̰͵éÀ» ecpg¿¡¼­´Â Áö¿øÇÒ ¼ö ¾ø´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.

31.9.1. Ãß°¡ÀÇ ¸ÅÀÔ SQL¹®

CLOSE DATABASE

ÀÌ ¸í·É¹®Àº ÇöÀçÀÇ ¿¬°áÀ» ´Ý½À´Ï´Ù. ½ÇÁ¦, À̰ÍÀº ecpgÀÇ DISCONNECT CURRENT¿Í µ¿ÀǾîÀÔ´Ï´Ù.

    $CLOSE DATABASE;                /* close the current connection */
    EXEC SQL CLOSE DATABASE;

31.9.2. Ãß°¡ ÇÔ¼ö

decadd

2°³ÀÇ 10 Áø¼öÇü º¯¼ö¸¦ °¡»êÇÕ´Ï´Ù.

int decadd(decimal *arg1, decimal *arg2, decimal *sum);

ÀÌ ÇÔ¼ö´Â, 10 Áø¼öÇüÀÇ ÃÖÃÊÀÇ ¿¬»ê Ç׸ñ(arg1)ÀÇ Æ÷ÀÎÅÍ, 10 Áø¼öÇüÀÇ 2¹øÂ°ÀÇ ¿¬»ê Ç׸ñ(arg2)ÀÇ Æ÷ÀÎÅÍ, °¡»ê °á°ú¸¦ ÀúÀåÇÏ´Â 10 Áø¼öÇü°ª(sum)ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù. ¼º°øÇϸé, ÀÌ ÇÔ¼ö´Â 0À» µ¹·ÁÁÝ´Ï´Ù. ¿À¹öÇ÷ο찡 ¹ß»ýÇßÀ» °æ¿ì´Â ECPG_INFORMIX_NUM_OVERFLOW°¡, ¾ð´õ Ç÷οì(underflow)ÀÇ °æ¿ì´Â ECPG_INFORMIX_NUM_UNDERFLOW°¡ µ¹¾Æ¿É´Ï´Ù. ÀÌ ´Ù¸¥ ½ÇÆÐ°¡ ¹ß»ýÇßÀ» °æ¿ì´Â ¡ª1ÀÌ µ¹¾Æ¿À°í, errno¿¡´Â pgtypeslib¿¡ ´ëÀÀÇÏ´Â errno ¹øÈ£°¡ ¼³Á¤µË´Ï´Ù.

deccmp

2°³ÀÇ 10 Áø¼öÇü º¯¼ö¸¦ ºñ±³ÇÕ´Ï´Ù.

int deccmp(decimal *arg1, decimal *arg2);

ÀÌ ÇÔ¼ö´Â, ù ¹øÂ° 10 Áø¼ö°ª(arg1)ÀÇ Æ÷ÀÎÅÍ, µÎ ¹øÂ° 10 Áø¼ö°ª(arg2)ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾Æµé¿© ¾î´À ÂÊÀÌ Å«Áö ³ªÅ¸³»´Â Á¤¼ö°ªÀ» µ¹·ÁÁÝ´Ï´Ù.

  • arg1°¡ Áö½ÃÇÏ´Â °ªÀÌ arg2°¡ Áö½ÃÇÏ´Â °ªº¸´Ù Å©¸é 1.

  • arg1°¡ Áö½ÃÇÏ´Â °ªÀÌ arg2°¡ Áö½ÃÇÏ´Â °ªº¸´Ù ÀÛÀ¸¸é ¡ª1.

  • arg1°¡ Áö½ÃÇÏ´Â °ª°ú arg2°¡ Áö½ÃÇÏ´Â °ªÀÌ °°À¸¸é 0.

deccopy

10 Áø¼ö°ªÀ» º¹»çÇÕ´Ï´Ù.

void deccopy(decimal *src, decimal *target);

ÀÌ ÇÔ¼ö´Â, ù ¹øÂ° ÀÎÀڷμ­ º¹»çµÈ 10 Áø¼ö°ª(src)ÀÇ Æ÷ÀÎÅÍ, µÎ ¹øÂ° ÀÎÀڷμ­ 10 Áø¼öÇüÀÇ ´ë»ó ±¸Á¶(target)ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù.

deccvasc

ASCII Ç¥ÇöÀ¸·ÎºÎÅÍ 10 Áø¼öÇü¿¡ °ªÀ» º¯È¯ÇÕ´Ï´Ù.

int deccvasc(char *cp, int len, decimal *np);

ÀÌ ÇÔ¼ö´Â, º¯È¯ ´ë»óÀÇ ¹®ÀÚ¿­ Ç¥ÇöÀ» °¡Áö´Â ij¸¯ÅÍ ¶óÀÎ(cp)ÀÇ Æ÷ÀÎÅÍ¿Í ±× ¹®ÀÚ¿­ÀÇ ±æÀÌlen¸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù. np´Â ÀÌ Á¶ÀÛ °á°ú¸¦ ÀúÀåÇÏ´Â 10 Áø¼öÇüÀÇ °ªÀÇ Æ÷ÀÎÅÍÀÔ´Ï´Ù.

À¯È¿ÇÑ ¼­½ÄÀÇ ¿¹´Â ÀÌÇÏ¿Í °°½À´Ï´Ù. -2, . 794, +3. 44, 592.49E07, -32. 84e-4.

ÀÌ ÇÔ¼ö´Â ¼º°ø½Ã 0À» µ¹·ÁÁÝ´Ï´Ù. ¿À¹öÇ÷ο쳪 ¾ð´õ Ç÷οì(underflow)°¡ ¹ß»ýÇßÀ» °æ¿ì´Â ECPG_INFORMIX_NUM_OVERFLOW³ª ECPG_INFORMIX_NUM_UNDERFLOW°¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ASCII Ç¥ÇöÀÇ ÇØ¼®À» ÇÒ ¼ö ¾ø¾ú´ø °æ¿ì´Â ECPG_INFORMIX_BAD_NUMERIC°¡, Áö¼ö ºÎºÐÀÇ ÇØ¼®¿¡ ¹®Á¦°¡ ÀÖ´Â °æ¿ì´Â ECPG_INFORMIX_BAD_EXPONENT°¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

deccvdbl

doubleÇüÀÇ °ªÀ» 10 Áø¼öÇüÀÇ °ªÀ¸·Î º¯È¯ÇÕ´Ï´Ù.

int deccvdbl(double dbl, decimal *np);

ÀÌ ÇÔ¼ö´Â, ù ¹øÂ° ÀÎÀڷμ­ º¯È¯ ´ë»óÀÇ doubleÇüÀÇ º¯¼ö(dbl)¸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù. µÎ ¹øÂ° ÀÎÀÚ(np)·Î¼­ ÀÌ ÇÔ¼ö´Â Á¶ÀÛ °á°ú¸¦ ÀúÀåÇÏ´Â 10 Áø¼öÇü º¯¼ö¿¡ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù.

ÀÌ ÇÔ¼ö´Â ¼º°ø½Ã¿¡ 0À» µ¹·ÁÁÝ´Ï´Ù. º¯È¯ÀÌ ½ÇÆÐÇßÀ» °æ¿ì´Â ºÎÀÇ °ªÀÌ µ¹¾Æ°©´Ï´Ù.

deccvint

intÇüÀÇ °ªÀ» 10 Áø¼öÇüÀÇ °ªÀ¸·Î º¯È¯ÇÕ´Ï´Ù.

int deccvint(int in, decimal *np);

ÀÌ ÇÔ¼ö´Â ù ¹øÂ° ÀÎÀڷμ­ º¯È¯ ´ë»óÀÇ intÇü º¯¼ö(in)¸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù. µÎ ¹øÂ°ÀÇ ÀÎÀÚ(np)·Î¼­ ÀÌ ÇÔ¼ö´Â º¯È¯ °á°ú¸¦ ÀúÀåÇÏ´Â 10 Áø¼öÇü º¯¼ö¿¡ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù.

ÀÌ ÇÔ¼ö´Â ¼º°ø½Ã¿¡ 0À» µ¹·ÁÁÝ´Ï´Ù. º¯È¯ÀÌ ½ÇÆÐÇßÀ» °æ¿ì´Â ºÎÀÇ °ªÀÌ µ¹¾Æ°©´Ï´Ù.

deccvlong

longÇüÀÇ °ªÀ» 10 Áø¼öÇüÀÇ °ªÀ¸·Î º¯È¯ÇÕ´Ï´Ù.

int deccvlong(long lng, decimal *np);

ÀÌ ÇÔ¼ö´Â ù¹øÂ° ÀÎÀڷμ­ º¯È¯ ´ë»óÀÇ longÇü º¯¼ö(lng)¸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù. µÎ ¹øÂ° ÀÎÀÚ(np)·Î¼­ ÀÌ ÇÔ¼ö´Â º¯È¯ °á°ú¸¦ ÀúÀåÇÏ´Â 10 Áø¼öÇü º¯¼ö¿¡ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù.

ÀÌ ÇÔ¼ö´Â ¼º°ø½Ã¿¡ 0À» µ¹·ÁÁÝ´Ï´Ù. º¯È¯ÀÌ ½ÇÆÐÇßÀ» °æ¿ì´Â ºÎÀÇ °ªÀÌ µ¹¾Æ°©´Ï´Ù.

decdiv

2°³ÀÇ 10 Áø¼öÇü º¯¼öÀÇ ³ª´°¼ÀÀ» ½Ç½ÃÇÕ´Ï´Ù.

int decdiv(decimal *n1, decimal *n2, decimal *result);

ÀÌ ÇÔ¼ö´Â, 1¹øÂ°ÀÇ ¿¬»ê Ç׸ñ(n1)°ú 2¹øÂ°ÀÇ ¿¬»ê Ç׸ñ(n2)ÀÌ µÇ´Â º¯¼öÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾Æµé¿© n1/n2¸¦ °è»êÇÕ´Ï´Ù. result´Â, Á¶ÀÛ °á°ú¸¦ ÀúÀåÇÏ´Â º¯¼ö¿¡ÀÇ Æ÷ÀÎÅÍÀÔ´Ï´Ù.

¼º°ø½Ã 0ÀÌ µ¹·ÁÁÖ¾îÁ® ³ª´°¼ÀÀÇ ½ÇÆÐ½Ã¿¡´Â ºÎÀÇ °ªÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ¿À¹öÇ÷ο쳪 ¾ð´õ Ç÷οì(underflow)°¡ ¹ß»ýÇßÀ» °æ¿ì, ÀÌ ÇÔ¼ö´Â °¢°¢ ECPG_INFORMIX_NUM_OVERFLOW, ECPG_INFORMIX_NUM_UNDERFLOW¸¦ µ¹·ÁÁÝ´Ï´Ù. 0 ³ª´©±â°¡ ¹ß»ýÇßÀ» °æ¿ì´Â, ECPG_INFORMIX_DIVIDE_ZERO°¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

decmul

2°³ÀÇ 10 Áø¼öÇü º¯¼ö¸¦ °ö¼ÀÇÕ´Ï´Ù.

int decmul(decimal *n1, decimal *n2, decimal *result);

ÀÌ ÇÔ¼ö´Â, 1¹øÂ°ÀÇ ¿¬»ê Ç׸ñ(n1)°ú 2¹øÂ°ÀÇ ¿¬»ê Ç׸ñ(n2)ÀÌ µÇ´Â º¯¼öÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾Æµé¿© n1*n2¸¦ °è»êÇÕ´Ï´Ù. result´Â, Á¶ÀÛ °á°ú¸¦ ÀúÀåÇÏ´Â º¯¼ö¿¡ÀÇ Æ÷ÀÎÅÍÀÔ´Ï´Ù.

¼º°ø½Ã 0ÀÌ µ¹·ÁÁÖ¾îÁ® ³ª´°¼ÀÀÇ ½ÇÆÐ½Ã¿¡´Â ºÎÀÇ °ªÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ¿À¹öÇ÷ο쳪 ¾ð´õ Ç÷οì(underflow)°¡ ¹ß»ýÇßÀ» °æ¿ì, ÀÌ ÇÔ¼ö´Â °¢°¢ ECPG_INFORMIX_NUM_OVERFLOW, ECPG_INFORMIX_NUM_UNDERFLOW¸¦ µ¹·ÁÁÝ´Ï´Ù.

decsub

10 Áø¼öÇü°ª³¢¸®ÀÇ °¨»êÀ» ½Ç½ÃÇÕ´Ï´Ù.

int decsub(decimal *n1, decimal *n2, decimal *result);

ÀÌ ÇÔ¼ö´Â, 1¹øÂ°ÀÇ ¿¬»ê Ç׸ñ(n1)°ú 2¹øÂ°ÀÇ ¿¬»ê Ç׸ñ(n2)ÀÌ µÇ´Â º¯¼öÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾Æµé¿© n1-n2¸¦ °è»êÇÕ´Ï´Ù. result´Â, Á¶ÀÛ °á°ú¸¦ ÀúÀåÇÏ´Â º¯¼ö¿¡ÀÇ Æ÷ÀÎÅÍÀÔ´Ï´Ù.

¼º°ø½Ã 0ÀÌ µ¹·ÁÁÖ¾îÁ® Á¦»êÀÇ ½ÇÆÐ½Ã¿¡´Â ºÎÀÇ °ªÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ¿À¹öÇ÷ο쳪 ¾ð´õ Ç÷οì(underflow)°¡ ¹ß»ýÇßÀ» °æ¿ì, ÀÌ ÇÔ¼ö´Â °¢°¢ ECPG_INFORMIX_NUM_OVERFLOW, ECPG_INFORMIX_NUM_UNDERFLOW¸¦ µ¹·ÁÁÝ´Ï´Ù.

dectoasc

10 Áø¼öÇü º¯¼ö¸¦ C char* ¹®ÀÚ¿­ÀÇ ASCII Ç¥ÇöÀ¸·Î º¯È¯ÇÕ´Ï´Ù.

int dectoasc(decimal *np, char *cp, int len, int right)

ÀÌ ÇÔ¼ö´Â 10 Áø¼öÇü º¯¼ö(np)ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾Æµé¿© ÅØ½ºÆ® Ç¥ÇöÀ¸·Î º¯È¯ÇÕ´Ï´Ù. cp ´Â º¯È¯ °á°ú¸¦ ÀúÀåÇϱâ À§ÇÑ ¹öÆÛÀÔ´Ï´Ù. right¸Å°³º¯¼ö´Â, 10 Áø¼ö ¼Ò¼öÁ¡ÀÇ ¿ìÃøÀÇ ¸î ÀÚ¸®¼ö¸¦ Ãâ·ÂÇÏ´ÂÁö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. °á°ú´Â ÀÌ 10ÁøÀÚ¸®¼ö·Î ÇÒ ¼ö ÀÖ½À´Ï´Ù. right¸¦ ¡ª1À¸·Î ÇÏ´Â °ÍÀ¸·Î, ¸ðµç À¯È¿ÇÑ ÀÚ¸®¼ö°¡ Ãâ·ÂµÇ°Ô µË´Ï´Ù. len·Î °¡¸®Å°´Â Ãâ·Â ¹öÆÛÀåÀÌ, ¸¶Áö¸· NUL ¹®ÀÚ¸¦ Æ÷ÇÔÇÑ ÅØ½ºÆ® Ç¥ÇöÀ» ÀúÀåÇϴµ¥´Â ºÒÃæºÐÇÒ °æ¿ì, °á°ú¿¡´Â *À̶ó´Â 1 ¹®ÀÚ°¡ ÀúÀåµÇ¾î -1°¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

ÀÌ ÇÔ¼ö´Â, cp¹öÆÛ°¡ ³Ê¹« ÀÛÀº °æ¿ì¿¡ ¡ª1À» µ¹·ÁÁÝ´Ï´Ù. ¸Þ¸ð¸® ºÎÁ·ÀÇ °æ¿ì´Â ECPG_INFORMIX_OUT_OF_MEMORY¸¦ µ¹·ÁÁÝ´Ï´Ù.

dectodbl

10 Áø¼öÇü º¯¼ö¸¦ double·Î º¯È¯ÇÕ´Ï´Ù.

int dectodbl(decimal *np, double *dblp);

ÀÌ ÇÔ¼ö´Â º¯È¯ ´ë»óÀÇ 10 Áø¼öÇü º¯¼ö(np)ÀÇ Æ÷ÀÎÅÍ¿Í Ã³¸® °á°ú¸¦ ÀúÀåÇÏ´Â double º¯¼ö(dblp)¿¡ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù.

¼º°ø½Ã 0ÀÌ, º¯È¯ ½ÇÆÐ½Ã ºÎÀÇ °ªÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

dectoint

10 Áø¼öÇü º¯¼ö¸¦ Á¤¼öÇüÀ¸·Î º¯È¯ÇÕ´Ï´Ù.

int dectoint(decimal *np, int *ip);

ÀÌ ÇÔ¼ö´Â º¯È¯ ´ë»óÀÇ 10 Áø¼öÇü º¯¼ö(np)ÀÇ Æ÷ÀÎÅÍ¿Í Ã³¸® °á°ú¸¦ ÀúÀåÇÏ´Â Á¤¼öÇü º¯¼ö(lp)¿¡ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù.

¼º°ø½Ã 0ÀÌ, º¯È¯ ½ÇÆÐ½Ã ºÎÀÇ °ªÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ¿À¹öÇ÷ο찡 ¹ß»ýÇßÀ» °æ¿ì´Â ECPG_INFORMIX_NUM_OVERFLOW°¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

ÀÌ ecpgÀÇ ±¸ÇöÀº InformixÀÇ ±¸Çö°ú ´Ù¸¥ °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. Informix¿¡¼­´Â, Á¤¼ö ¹üÀ§¿¡ ¡ª32767¿¡¼­ 32767±îÁö¶ó´Â Á¦ÇÑÀ» Çϰí ÀÖ½À´Ï´Ù¸¸, ecpg¿¡¼­ÀÇ Á¦ÇÑÀº ¾ÆÅ°ÅØÃÄ¿¡ ÀÇÁ¸(-INT_MAX .. INT_MAX)ÇÕ´Ï´Ù.

dectolong

10 Áø¼öÇü º¯¼ö¸¦ longÇüÀ¸·Î º¯È¯ÇÕ´Ï´Ù.

int dectolong(decimal *np, long *lngp);

ÀÌ ÇÔ¼ö´Â º¯È¯ ´ë»óÀÇ 10 Áø¼öÇü º¯¼ö(np)ÀÇ Æ÷ÀÎÅÍ¿Í Ã³¸® °á°ú¸¦ ÀúÀåÇÏ´Â long º¯¼ö(lngp)¿¡ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù.

¼º°ø½Ã 0ÀÌ, º¯È¯ ½ÇÆÐ½Ã ºÎÀÇ °ªÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ¿À¹öÇ÷ο찡 ¹ß»ýÇßÀ» °æ¿ì´Â ECPG_INFORMIX_NUM_OVERFLOW°¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

ÀÌ ecpgÀÇ ±¸ÇöÀº InformixÀÇ ±¸Çö°ú ´Ù¸¥ °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. Informix¿¡¼­´Â, Á¤¼ö ¹üÀ§¿¡ ¡ª2,147,483,647¿¡¼­ 2,147,483,647±îÁö¶ó´Â Á¦ÇÑÀ» Çϰí ÀÖ½À´Ï´Ù¸¸, ecpg¿¡¼­ÀÇ Á¦ÇÑÀº ¾ÆÅ°ÅØÃÄ¿¡ ÀÇÁ¸(-LONG_MAX .. LONG_MAX)ÇÕ´Ï´Ù.

rdatestr

ÀÏÀÚ¸¦ C char*¹®ÀÚ¿­·Î º¯È¯ÇÕ´Ï´Ù.

int rdatestr(date d, char *str);

ÀÌ ÇÔ¼ö´Â 2°³ÀÇ ÀÎÀÚ¸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù. ù ¹øÂ° ÀÎÀÚ´Â º¯È¯ ´ë»óÀÇ ÀÏÀÚ (d), µÎ ¹øÂ°´Â º¯È¯ ÈÄÀÇ ¹®ÀÚ¿­ÀÇ Æ÷ÀÎÅÍÀÔ´Ï´Ù. Ãâ·Â ¼­½ÄÀº Ç×»ó yyyy-mm-ddÀ̹ǷÎ, Àû¾îµµ 11 ¹®ÀÚ(´­ Á¾´ÜÀ» Æ÷ÇÔÇÑ´Ù)¸¦ °á°ú ¹®ÀÚ¿­¿¡ ÇÒ´çÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

ÀÌ ÇÔ¼ö´Â ¼º°ø½Ã 0À», ¿¡·¯½Ã ºÎÀÇ °ªÀ» µ¹·ÁÁÝ´Ï´Ù.

ÀÌ ecpgÀÇ ±¸ÇöÀº InformixÀÇ ±¸Çö°ú ´Ù¸¥ °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. Informix¿¡¼­´Â, ȯ°æ º¯¼ö¿¡ ÀÇÇØ ¼­½ÄÀ» º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, ecpg¿¡¼­´Â Ãâ·Â ¼­½ÄÀ» º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù.

rstrdate

ÀÏÀÚÀÇ ÅØ½ºÆ® Ç¥ÇöÀ» ÇØ¼®ÇÕ´Ï´Ù.

int rstrdate(char *str, date *d);

ÀÌ ÇÔ¼ö´Â, º¯È¯ ´ë»óÀÇ ÀÏÀÚÀÇ ÅØ½ºÆ® Ç¥Çö(str)°ú ÀÏÀÚÇü º¯¼öÀÇ Æ÷ÀÎÅÍ(d)¸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù. ÀÌ ÇÔ¼ö¿¡¼­´Â ¼­½Ä ¸¶½ºÅ©¸¦ ÁöÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù. InformixÀÇ ±âº»°ªÀÇ ¼­½Ä ¸¶½ºÅ©ÀÎ mm/dd/yyyy¸¦ »ç¿ëÇÕ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â, ÀÌ ÇÔ¼ö´Â rdefmtdate¸¦ »ç¿ëÇØ ±¸ÇöÇϰí ÀÖ½À´Ï´Ù. µû¶ó¼­, rstrdate´Â ºü¸£Áö´Â ¾Ê½À´Ï´Ù. ¸¸¾à ¼±ÅûçÇ×ÀÌ ÀÖ´Ù¸é, ¼­½Ä ¸¶½ºÅ©¸¦ ¸í½ÃÀûÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Â rdefmtdate¸¦ ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù.

ÀÌ ÇÔ¼ö´Ârdefmtdate¿Í °°Àº °ªÀ» µ¹·ÁÁÝ´Ï´Ù.

rtoday

ÇöÀçÀÇ ÀÏÀÚ¸¦ ÀÔ¼öÇÕ´Ï´Ù.

void rtoday(date *d);

ÀÌ ÇÔ¼ö´Â ÀÏÀÚÇü º¯¼öd)¿¡ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾Æµé¿© ±× °÷¿¡ ÇöÀçÀÇ ÀÏÀÚ¸¦ ÀúÀåÇÕ´Ï´Ù.

³»ºÎÀûÀ¸·Î´Â, ÀÌ ÇÔ¼ö´Â PGTYPESdate_today ÇÔ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù.

rjulmdy

ÀÏÀÚÇü º¯¼ö·ÎºÎÅÍ, ÀÏ, ¿ù, ³âÀÇ °ªÀ» ²¨³À´Ï´Ù.

int rjulmdy(date d, short mdy[3]);

ÀÌ ÇÔ¼ö´Â ÀÏÀÚd, 3°³ÀÇ short integerÇü °ªÀÌ µÇ´Â ¹è¿­mdyÀ» ¹Þ¾ÆµéÀÔ´Ï´Ù. ÀÌ º¯¼ö¸íÀº ±× ¼øÂ÷Àû ¼ø¼­À» ³ªÅ¸³», mdy[0]¿¡´Â ¿ù¼ö, mdy[1]¿¡´Â ³¯Â¥°¡, mdy[2]¿¡´Â ³âÀÌ ¼³Á¤µË´Ï´Ù.

ÇöÀç ÀÌ ÇÔ¼ö´Â Ç×»ó 0À» µ¹·ÁÁÝ´Ï´Ù.

³»ºÎÀûÀ¸·Î´Â ÀÌ ÇÔ¼ö´Â PGTYPESdate_julmdy ÇÔ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù.

rdefmtdate

¼­½Ä ¸¶½ºÅ©¸¦ »ç¿ëÇØ, ¹®ÀÚ¿­À» ÀÏÀÚÇüÀÇ °ªÀ¸·Î º¯È¯ÇÕ´Ï´Ù.

int rdefmtdate(date *d, char *fmt, char *str);

ÀÌ ÇÔ¼ö´Â, ó¸® °á°ú¸¦ ÀúÀåÇϱâ À§ÇÑ ÀÏÀÚÇü¿¡ÀÇ Æ÷ÀÎÅÍ(d), ÀÏÀÚ¸¦ ÇØ¼®Çϱâ À§ÇÑ ¼­½Ä ¸¶½ºÅ©(fmt), ÀÏÀÚÀÇ ÅØ½ºÆ® Ç¥ÇöÀ» Æ÷ÇÔÇÑ CÀÇ char*¹®ÀÚ¿­(str)À» ¹Þ¾ÆµéÀÔ´Ï´Ù. ÅØ½ºÆ® Ç¥ÇöÀº ¼­½Ä ¸¶½ºÅ©¿¡ ¸ÂÀº Ç¥ÇöÀÎ °ÍÀÌ °¡Á¤µÇ°í ÀÖ½À´Ï´Ù. ±×·¯³ª, ¹®ÀÚ¿­°ú ¼­½Ä ¸¶½ºÅ©¸¦ 1:1¿¡ ´ëÀÀ½Ãų ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ÀÌ ÇÔ¼ö´Â ¼øÂ÷Àû Â÷·Ê·Î ÇØ¼®ÇØ, ³âÀÇ À§Ä¡¸¦ ³ªÅ¸³»´Â yy ¶Ç´Â yyyy¸¦, ¿ùÀÇ À§Ä¡¸¦ ³ªÅ¸³»´Â mm¸¦, ³¯ÀÇ À§Ä¡¸¦ ³ªÅ¸³»´Â dd¸¦ °Ë»öÇÕ´Ï´Ù.

ÀÌ ÇÔ¼ö´Â ÀÌÇÏÀÇ °ªÀ» µ¹·ÁÁÝ´Ï´Ù.

  • 0 - ÇÔ¼ö°¡ Á¤»óÀûÀ¸·Î ¾ÖÅë Çß½À´Ï´Ù.

  • ECPG_INFORMIX_ENOSHORTDATE - ÀÏÀÚ¿¡, ÀÏ, ¿ù, ³âÀ» ´Ü¶ôÁþ´Â ¹®ÀÚ°¡ ¾ø¾ú½À´Ï´Ù. ÀÌ °æ¿ì, ÀÔ·Â ¹®ÀÚ¿­Àº 6¹ÙÀÌÆ®, 8¹ÙÀÌÆ®ÀÇ Çϳª¿©¾ß ÇÏÁö¸¸, ±×·¸Áö ¾Ê¾Ò½À´Ï´Ù.

  • ECPG_INFORMIX_ENOTDMY - ¼­½Ä ¹®ÀÚ¿­ÀÌ ¿Ã¹Ù¸£°í, ¿¬¿ùÀÏÀÇ Â÷·Ê¸¦ ³ªÅ¸³»°í ÀÖÁö ¾Ê½À´Ï´Ù.

  • ECPG_INFORMIX_BAD_DAY - ÀÔ·Â ¹®ÀÚ¿­¿¡ À¯È¿ÇÑ ³¯ÀÌ Æ÷ÇԵǾî ÀÖÁö ¾Ê½À´Ï´Ù.

  • ECPG_INFORMIX_BAD_MONTH - ÀÔ·Â ¹®ÀÚ¿­¿¡ À¯È¿ÇÑ ´ÞÀÌ Æ÷ÇԵǾî ÀÖÁö ¾Ê½À´Ï´Ù.

  • ECPG_INFORMIX_BAD_YEAR - ÀÔ·Â ¹®ÀÚ¿­¿¡ À¯È¿ÇÑ ³âÀÌ Æ÷ÇԵǾî ÀÖÁö ¾Ê½À´Ï´Ù.

³»ºÎÀûÀ¸·Î´Â, ÀÌ ÇÔ¼ö´Â xref linkend="PGTYPESdatedefmtasc">ÇÔ¼ö¸¦ »ç¿ëÇØ ±¸ÇöÇϰí ÀÖ½À´Ï´Ù. ÀÌ ÇÔ¼öÀÇ ¼³¸í¿¡´Â, ÀÔ·Â ¿¹ÀÇ Ç¥°¡ Àֱ⠶§¹®¿¡, ÀÌÂʵµ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

rfmtdate

¼­½Ä ¸¶½ºÅ©¸¦ »ç¿ëÇØ ÀÏÀÚÇü º¯¼ö¸¦ ÅØ½ºÆ® Ç¥ÇöÀ¸·Î º¯È¯ÇÕ´Ï´Ù.

int rfmtdate(date d, char *fmt, char *str);

ÀÌ ÇÔ¼ö´Â º¯È¯ ´ë»óÀÇ ÀÏÀÚ(d), ¼­½Ä ¸¶½ºÅ©(fmt), ÀÏÀÚÀÇ ÅØ½ºÆ® Ç¥ÇöÀ» ÀúÀåÇÏ´Â ¹®ÀÚ¿­(str)À» ¹Þ¾ÆµéÀÔ´Ï´Ù.

¼º°ø½Ã 0, ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì´Â ºÎÀÇ °ªÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

³»ºÎÀûÀ¸·Î´Â ÀÌ ÇÔ¼ö´Â PGTYPESdate_fmt_asc ÇÔ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù. ¿¹°¡ ±âÀçµÇ¾î Àֱ⠶§¹®¿¡, ÀÌÂʵµ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

rmdyjul

ÀÏÀÚÀÇ ÀÏ, ¿ù, ³âÀ» ³ªÅ¸³»´Â 3°³ÀÇ short integersÇüÀÇ ¹è¿­·ÎºÎÅÍ ÀÏÀÚÇüÀÇ °ªÀ» ÀÛ¼ºÇÕ´Ï´Ù.

int rmdyjul(short mdy[3], date *d);

ÀÌ ÇÔ¼ö´Â 3°³ÀÇ short integersÇüÀ¸·ÎºÎÅÍ µÇ´Â ¹è¿­(mdy)°ú ó¸® °á°ú¸¦ ÀúÀåÇÏ´Â ÀÏÀÚÇü º¯¼ö¿¡ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù.

ÇöÀç ÀÌ ÇÔ¼ö´Â Ç×»ó 0À» µ¹·ÁÁÝ´Ï´Ù.

³»ºÎÀûÀ¸·Î´Â ÀÌ ÇÔ¼ö´Â PGTYPESdate_mdyjul ÇÔ¼ö¸¦ »ç¿ëÇØ ±¸ÇöÇϰí ÀÖ½À´Ï´Ù.

rdayofweek

ÀÏÀÚÇüÀÇ °ªÀÇ ÁÖ³» ³¯Â¥¸¦ ³ªÅ¸³»´Â °ªÀ» µ¹·ÁÁÝ´Ï´Ù.

int rdayofweek(date d);

ÀÌ ÇÔ¼ö´Â ÀÏÀÚÇü º¯¼öd¸¦ ±× À¯ÀÏÇÑ ÀÎÀڷμ­ ¹Þ¾Æµé¿©, ±× ÀÏÀÚÀÇ ÁÖ³» ³¯Â¥¸¦ ³ªÅ¸³»´Â Á¤¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù. this date.

  • 0 - ÀÏ¿äÀÏ

  • 1 - ¿ù¿äÀÏ

  • 2 - È­¿äÀÏ

  • 3 - ¼ö¿äÀÏ

  • 4 - ¸ñ¿äÀÏ

  • 5 - ±Ý¿äÀÏ

  • 6 - Åä¿äÀÏ

³»ºÎÀûÀ¸·Î´Â ÀÌ ÇÔ¼ö´Â PGTYPESdate_dayofweek ÇÔ¼ö¸¦ »ç¿ëÇØ ±¸ÇöÇϰí ÀÖ½À´Ï´Ù.

dtcurrent

ÇöÀçÀÇ Å¸ÀÓ½ºÅÛÇÁ¸¦ ºÒ·¯¿É´Ï´Ù.

void dtcurrent(timestamp *ts);

ÀÌ ÇÔ¼ö´Â ÇöÀçÀÇ Å¸ÀÓ½ºÅÛÇÁ¸¦ ¹Þ¾Æ, ts°¡ Áö½ÃÇϴ ŸÀÓ½ºÅÛÇÁÇü º¯¼ö¿¡ ÀúÀåÇÕ´Ï´Ù.

dtcvasc

ANSI Ç¥ÁØÀ¸·Î ±âÀçµÈ ÅØ½ºÆ® Ç¥ÇöÀ» ŸÀÓ½ºÅÛÇÁÇü º¯¼ö·Î º¯È¯ÇÕ´Ï´Ù.

int dtcvasc(char *str, timestamp *ts);

ÀÌ ÇÔ¼ö´Â ´ë»óÀÇ ¹®ÀÚ¿­(str)°ú ó¸® °á°ú¸¦ ÀúÀåÇϴ ŸÀÓ½ºÅÛÇÁÇü º¯¼ö(ts)¿¡ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù.

ÀÌ ÇÔ¼ö´Â ¼º°ø½Ã 0À» µ¹·ÁÁÖ¾î, ¿¡·¯½Ã ºÎÀÇ °ªÀ» µ¹·ÁÁÝ´Ï´Ù.

³»ºÎÀûÀ¸·Î´Â ÀÌ ÇÔ¼ö´Â PGTYPEStimestamp_from_asc ÇÔ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÔ·Â ¿¹ÀÇ Ç¥°¡ Àֱ⠶§¹®¿¡, ÀÌÂʵµ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

dtcvfmtasc

¼­½Ä ¸¶½ºÅ©¸¦ »ç¿ëÇØ ANSI Ç¥ÁØÀ¸·Î ±âÀçµÈ ÅØ½ºÆ® Ç¥ÇöÀ» ŸÀÓ½ºÅÛÇÁÇü º¯¼ö·Î º¯È¯ÇÕ´Ï´Ù.

dtcvfmtasc(char *inbuf, char *fmtstr, timestamp *dtvalue)

ÀÌ ÇÔ¼ö´Â, ´ë»óÀ¸·Î ÇÏ´Â ¹®ÀÚ¿­(inbuf), »ç¿ëÇÏ´Â ¼­½Ä ¸¶½ºÅ©(fmtstr), ó¸® °á°ú¸¦ ÀúÀåÇϴ ŸÀÓ½ºÅÛÇÁ º¯¼ö(ts)¿¡ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù.

ÀÌ ÇÔ¼ö´Â PGTYPEStimestamp_defmt_asc À» »ç¿ëÇØ ±¸ÇöµÇ°í ÀÖ½À´Ï´Ù. »ç¿ë °¡´ÉÇÑ ¼­½Ä ÁöÁ¤ÀÇ ¸®½ºÆ®°¡ Àֱ⠶§¹®¿¡, ÀÌÂʵµ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

ÀÌ ÇÔ¼ö´Â ¼º°ø½Ã¿¡ 0À», ¿¡·¯½Ã ºÎÀÇ °ªÀ» µ¹·ÁÁÝ´Ï´Ù.

dtsub

ŸÀÓ½ºÅÛÇÁÇü³¢¸® °¨»êÀ» ½Ç½ÃÇØ, ½Ã°£ °£°ÝÇü º¯¼ö(interval)¸¦ µ¹·ÁÁÝ´Ï´Ù.

int dtsub(timestamp *ts1, timestamp *ts2, interval *iv);

ŸÀÓÅÛÇÁÇü³¢¸® °¨»êÀ» ½Ç½ÃÇØ, ½Ã°£ °£°ÝÇü º¯¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù.

¼º°ø½Ã ÀÌ ÇÔ¼ö´Â 0À» µ¹·ÁÁÖ¾î, ¿¡·¯½Ã ºÎÀÇ °ªÀ» µ¹·ÁÁÝ´Ï´Ù.

dttoasc

ŸÀÓ ½ºÅÆÇÁÇü º¯¼ö¸¦ C char*¹®ÀÚ¿­·Î º¯È¯ÇÕ´Ï´Ù.

int dttoasc(timestamp *ts, char *output);

ÀÌ ÇÔ¼ö´Â ´ë»óÀÇ Å¸ÀÓ ½ºÅÆÇÁÇü º¯¼ö(ts)¿¡ÀÇ Æ÷ÀÎÅÍ, ó¸® °á°ú¸¦ ÀúÀåÇÏ´Â ¹®ÀÚ¿­(output)À» ¹Þ¾ÆµéÀÔ´Ï´Ù. À̰ÍÀº ts¸¦ ANSI Ç¥ÁØ SQL¿¡ µû¸£´Â ÅØ½ºÆ® Ç¥Çö(YYYY-MM-DD HH:MM:SS·Î¼­ Á¤ÀÇ)À¸·Î º¯È¯ÇÕ´Ï´Ù.

¼º°ø½Ã ÀÌ ÇÔ¼ö´Â 0À» µ¹·ÁÁÖ¾î, ¿¡·¯½Ã ºÎÀÇ °ªÀ» µ¹·ÁÁÝ´Ï´Ù.

dttofmtasc

¼­½Ä ¸¶½ºÅ©¸¦ »ç¿ëÇØ ŸÀÓ½ºÅÛÇÁÇü º¯¼ö¸¦ C char*·Î º¯È¯ÇÕ´Ï´Ù.

int dttofmtasc(timestamp *ts, char *output, int str_len, char *fmtstr);

ÀÌ ÇÔ¼ö´Â, ù ¹øÂ° ÀÎÀڷμ­ º¯È¯ ´ë»óÀÇ Å¸ÀÓ½ºÅÛÇÁ(ts)¸¦, Ãâ·Â ¹öÆÛÀÇ Æ÷ÀÎÅÍ(output), Ãâ·Â ¹öÆÛ·Î ÇÒ´ç °¡´ÉÇÑ ÃÖ´ë±æÀÌ (str_len), º¯È¯¿¡ »ç¿ëÇÏ´Â ¼­½Ä ¸¶½ºÅ©(fmtstr)¸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù.

¼º°ø½Ã ÀÌ ÇÔ¼ö´Â 0À» µ¹·ÁÁÝ´Ï´Ù. ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì´Â ºÎÀÇ °ªÀ» µ¹·ÁÁÝ´Ï´Ù.

³»ºÎÀûÀ¸·Î, ÀÌ ÇÔ¼ö´Â PGTYPEStimestamp_fmt_asc ÇÔ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù. »ç¿ëÇÒ ¼ö ÀÖ´Â ¼­½Ä ¸¶½ºÅ©¿¡ °üÇÑ Á¤º¸°¡ Àֱ⠶§¹®¿¡, ÀÌÂʵµ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

intoasc

½Ã°£ °£°ÝÇü º¯¼ö¸¦ C char*¹®ÀÚ¿­·Î º¯È¯ÇÕ´Ï´Ù.

int intoasc(interval *i, char *str);

ÀÌ ÇÔ¼ö´Â, º¯È¯ ´ë»óÀÇ ½Ã°£ °£°ÝÇü º¯¼ö(i)¿¡ÀÇ Æ÷ÀÎÅÍ, ó¸® °á°ú¸¦ ÀúÀåÇÏ´Â ¹®ÀÚ¿­(str)À» ¹Þ¾ÆµéÀÔ´Ï´Ù. À̰ÍÀº i¸¦ ANSI Ç¥ÁØ SQL¿¡¼­ÀÇ ÅØ½ºÆ® Ç¥Çö(YYYY-MM-DD HH:MM:SS·Î¼­ Á¤ÀÇ)À¸·Î º¯È¯ÇÕ´Ï´Ù.

¼º°ø½Ã, ÀÌ ÇÔ¼ö´Â 0À» µ¹·ÁÁÝ´Ï´Ù. ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì´Â ºÎÀÇ °ªÀ» µ¹·ÁÁÝ´Ï´Ù.

rfmtlong

long integer°ªÀ» ¼­½Ä ¸¶½ºÅ©¸¦ »ç¿ëÇØ ÅØ½ºÆ® Ç¥ÇöÀ¸·Î º¯È¯ÇÕ´Ï´Ù.

int rfmtlong(long lng_val, char *fmt, char *outbuf);

ÀÌ ÇÔ¼ö´Â, longÇüÀÇ °ª lng_val, ¼­½Ä ¸¶½ºÅ©fmt, Ãâ·Â ¹öÆÛoutbuf¿¡ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù. À̰ÍÀº longÇüÀÇ °ªÀ» ¼­½Ä ¸¶½ºÅ©¿¡ µû¶ó ÅØ½ºÆ® Ç¥ÇöÀ¸·Î º¯È¯ÇÕ´Ï´Ù.

¼­½Ä ¸¶½ºÅ©´Â ÀÌÇÏÀÇ ¼­½Ä ÁöÁ¤ ¹®ÀÚ¸¦ Á¶ÇÕÇÒ ¼ö ÀÖ½À´Ï´Ù.

  • * (asterisk) - ÀÌ Á¤µµÀÇ °ªÀÌ °ø¹éÀ̶ó¸é asterisk·Î ¹¯½À´Ï´Ù.

  • & (ampersand(&)) - ÀÌ Á¤µµÀÇ °ªÀÌ °ø¹éÀ̶ó¸é 0À¸·Î ¹¯½À´Ï´Ù.

  • # - ¼±µÎÀÇ 0¸¦ °ø¹éÀ¸·Î º¯È¯ÇÕ´Ï´Ù.

  • < - ¹®ÀÚ¿­ ³»¿¡¼­ ¼öÄ¡¸¦ ¿ÞÂÊÀ¸·Î ¸ÂÃä´Ï´Ù.

  • , (ÄÞ¸¶) - 4ÀÚ¸®¼ö ÀÌ»óÀÇ ¼öÄ¡¸¦ ÄÞ¸¶·Î ´Ü¶ôÁöÀº 3ÀÚ¸®¼ö¿¡ ±×·ìÈ­ ÇÕ´Ï´Ù.

  • . (¸¶Ä§Ç¥) - ÀÌ ¹®ÀÚ´Â ¼öÄ¡·ÎºÎÅÍ ¼Ò¼ö ºÎºÐÀ» ±¸º°ÇÕ´Ï´Ù.

  • - (¸¶À̳ʽº) - ¼öÄ¡°¡ ºÎÀÇ °æ¿ì, ¸¶À̳ʽº ±âÈ£¸¦ ºÙÀÔ´Ï´Ù.

  • + (Ç÷¯½º) - ¼öÄ¡°¡ Á¤ÀÇ °æ¿ì Ç÷¯½º ±âÈ£¸¦ ºÙÀÔ´Ï´Ù.

  • ( - À̰ÍÀº ºÎÀÇ °ªÀÇ ¼±µÎÀÇ ¸¶À̳ʽº ±âÈ£¸¦ ¿Å°Ü³õ½À´Ï´Ù. ¸¶À̳ʽº ±âÈ£´Â ³ªÅ¸³ªÁö ¾Ê½À´Ï´Ù.

  • ) - ÀÌ ¹®ÀÚ´Â ¸¶À̳ʽº ±âÈ£¸¦ ¿Å°Ü³õ°í ºÎÀÇ °ªÀÇ ¸¶Áö¸·¿¡ Ãâ·ÂÇÕ´Ï´Ù.

  • $ - ÅëÈ­ ±âÈ£

rupshift

¹®ÀÚ¿­À» ´ë¹®ÀÚ·Î º¯È¯ÇÕ´Ï´Ù.

void rupshift(char *str);

ÀÌ ÇÔ¼ö´Â ¹®ÀÚ¿­¿¡ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾Æµé¿© ¸ðµç ¼Ò¹®ÀÚ¸¦ ´ë¹®ÀÚ·Î º¯È¯ÇÕ´Ï´Ù.

byleng

¹®ÀÚ¿­ ³»ÀÇ ¹®ÀÚ¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù. ´Ù¸¸, ¸»¹ÌÀÇ °ø¹éÀº ¼¼Áö ¾Ê½À´Ï´Ù.

int byleng(char *str, int len);

ÀÌ ÇÔ¼ö´Â ù ¹øÂ° ÀÎÀڷμ­ °íÁ¤ ±æÀÌÀÇ ¹®ÀÚ¿­(str)À», µÎ ¹øÂ° ÀÎÀڷμ­ ±× ¹®ÀÚ¿­ ±æÀÌ (len)¸¦ »óÁ¤Çϰí ÀÖ½À´Ï´Ù. À̰ÍÀº, ¹®ÀÚ¿­·ÎºÎÅÍ ¸»¹ÌÀÇ °ø¹éÀ» ¾ø¾Ø, À¯È¿ ¹®ÀÚÀÇ ¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù.

ldchar

°íÁ¤ ±æÀÌÀÇ ¹®ÀÚ¿­À» NULL Á¾´ÜÀÇ ¹®ÀÚ¿­¿¡ º¹»çÇÕ´Ï´Ù.

void ldchar(char *src, int len, char *dest);

ÀÌ ÇÔ¼ö´Â º¹»ç ´ë»óÀÇ °íÁ¤ ±æÀÌÀÇ ¹®ÀÚ¿­(src), ¹®ÀÚ¿­ ±æÀÌ(len), ÀúÀå¼Ò ¸Þ¸ð¸®(dest)¿¡ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù. dest°¡ Áö½ÃÇÏ´Â ¹®ÀÚ¿­¿¡´Â Àû¾îµµ len+1¹ÙÀÌÆ®¸¦ ÇÒ´çÇÏÁö ¾ÊÀ¸¸é ¾È µÇ´Â Á¡¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ÀÌ ÇÔ¼ö´Â ¸¹°Ô´Â len¹ÙÀÌÆ®¸¦ »õ·Î¿î Àå¼Ò¿¡ º¹»çÇÕ´Ï´Ù. (¼Ò½º ¹®ÀÚ¿­ÀÌ ¸»¹Ì¿¡ °ø¹é ¹®ÀÚ¸¦ °¡Áö´Â °æ¿ì´Â Àû¾îÁý´Ï´Ù´Ù.) ±×¸®°í, NULL Á¾´ÜÀ» ºÎ¿©ÇÕ´Ï´Ù.

rgetmsg

int rgetmsg(int msgnum, char *s, int maxsize);

ÀÌ ÇÔ¼ö´Â Á¸ÀçÇÕ´Ï´Ù¸¸, ÇöÀç ±¸ÇöµÇ°í ÀÖÁö ¾Ê½À´Ï´Ù.

rtypalign

int rtypalign(int offset, int type);

ÀÌ ÇÔ¼ö´Â Á¸ÀçÇÕ´Ï´Ù¸¸, ÇöÀç ±¸ÇöµÇ°í ÀÖÁö ¾Ê½À´Ï´Ù.

rtypmsize

int rtypmsize(int type, int len);

ÀÌ ÇÔ¼ö´Â Á¸ÀçÇÕ´Ï´Ù¸¸, ÇöÀç ±¸ÇöµÇ°í ÀÖÁö ¾Ê½À´Ï´Ù.

rtypwidth

int rtypwidth(int sqltype, int sqllen);

ÀÌ ÇÔ¼ö´Â Á¸ÀçÇÕ´Ï´Ù¸¸, ÇöÀç ±¸ÇöµÇ°í ÀÖÁö ¾Ê½À´Ï´Ù.

rsetnull

º¯¼ö¿¡ NULL¸¦ ¼³Á¤ÇÕ´Ï´Ù.

int rsetnull(int t, char *ptr);

ÀÌ ÇÔ¼ö´Â, º¯¼öÀÇ Á¾·ù¸¦ ³ªÅ¸³»´Â Á¤¼ö¿Í C char*¿¡ ij½ºÆ® ÇÑ º¯¼ö ÀÚü¿¡ÀÇ Æ÷ÀÎÅ͸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù.

ÀÌÇÏÀÇ Á¾·ù°¡ Á¸ÀçÇÕ´Ï´Ù.

  • CCHARTYPE - char ¶Ç´Â char*ÇüÀÇ º¯¼ö¿ë

  • CSHORTTYPE - short intÇüÀÇ º¯¼ö¿ë

  • CINTTYPE - intÇüÀÇ º¯¼ö¿ë

  • CBOOLTYPE - booleanÇüÀÇ º¯¼ö¿ë

  • CFLOATTYPE - floatÇüÀÇ º¯¼ö¿ë

  • CLONGTYPE - longÇüÀÇ º¯¼ö¿ë

  • CDOUBLETYPE - doubleÇüÀÇ º¯¼ö¿ë

  • CDECIMALTYPE - decimalÇüÀÇ º¯¼ö¿ë

  • CDATETYPE - dateÇüÀÇ º¯¼ö¿ë

  • CDTIMETYPE - timestampÇüÀÇ º¯¼ö¿ë

ÀÌÇÏ¿¡ ÀÌ ÇÔ¼öÀÇ È£Ãâ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.

$char c[] = "abc       ";
$short s = 17;
$int i = -74874;

rsetnull(CCHARTYPE, (char *) c);
rsetnull(CSHORTTYPE, (char *) &s);
rsetnull(CINTTYPE, (char *) &i);

risnull

º¯¼ö°¡ NULLÀÎÁö °Ë»çÇÕ´Ï´Ù.

int risnull(int t, char *ptr);

ÀÌ ÇÔ¼ö´Â °Ë»çÇÏ´Â º¯¼öÀÇ Á¾·ù(t), º¯¼ö(ptr)¿¡ÀÇ Æ÷ÀÎÅ͸¦ Á¢¼öÇÕ´Ï´Ù. ÈÄÀÚ´Â char*¿¡ ij½ºÆ® ÇÒ Çʿ䰡 ÀÖ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ÃëÇÒ ¼ö ÀÖ´Â º¯¼ö Á¾·ù¿¡ ´ëÇØ¼­´Â rsetnull ÇÔ¼ö¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

ÀÌ ÇÔ¼öÀÇ »ç¿ë ¹æ¹ýÀÇ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.

$char c[] = "abc       ";
$short s = 17;
$int i = -74874;

risnull(CCHARTYPE, (char *) c);
risnull(CSHORTTYPE, (char *) &s);
risnull(CINTTYPE, (char *) &i);

31.9.3. Ãß°¡ÀÇ Á¤¼ö

¿©±â¼­ °¡¸®Å°´Â Á¤¼ö´Â ¸ðµÎ ¿¡·¯¸¦ ³ªÅ¸³»´Â °ÍÀ̾î, ºÎÀÇ °ªÀ» ³ªÅ¸³»µµ·Ï Á¤Àǵǰí ÀÖ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ¶Ç, ´Ù¸¥ Á¤¼öÀÇ ¼³¸í¿¡¼­´Â, ÇöÀçÀÇ ±¸ÇöÀ¸·Î Á¤¼ö°¡ ³ªÅ¸³»´Â ¼öÄ¡¸¦ ¾Ë ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, ÀÌ ¼öÄ¡¿¡ ÀÇÁ¸ÇÏÁö ¾Ê½À´Ï´Ù. ±×·¯³ª, ÀÌ·¯ÇÑ ¸ðµç °ÍÀÌ ºÎÀÇ °ªÀÎ °Í¿¡ ÀÇÁ¸ÇÏ´Â °ÍÀº °¡´ÉÇÕ´Ï´Ù.

ECPG_INFORMIX_NUM_OVERFLOW

°è»ê½Ã¿¡ ¿À¹öÇ÷ο찡 ¹ß»ýÇßÀ» °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1200(InformixÀÇ Á¤ÀÇ)À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.

ECPG_INFORMIX_NUM_UNDERFLOW

°è»ê½Ã¿¡ ¾ð´õ Ç÷οì(underflow)°¡ ¹ß»ýÇßÀ» °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1201(InformixÀÇ Á¤ÀÇ)À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.

ECPG_INFORMIX_DIVIDE_ZERO

°è»ê½Ã¿¡ 0 ³ª´©±â°¡ ¹ß»ýÇßÀ» °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1202(InformixÀÇ Á¤ÀÇ)·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.

ECPG_INFORMIX_BAD_YEAR

ÀÏÀÚÀÇ ÇØ¼®½Ã¿¡ ³âÀÇ °ªÀÌ ºÎÁ¤ÇÒ °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1204(InformixÀÇ Á¤ÀÇ)·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.

ECPG_INFORMIX_BAD_MONTH

ÀÏÀÚÀÇ ÇØ¼®½Ã¿¡ ¿ùÀÇ °ªÀÌ ºÎÁ¤ÇÒ °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1205(InformixÀÇ Á¤ÀÇ)·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.

ECPG_INFORMIX_BAD_DAY

ÀÏÀÚÀÇ ÇØ¼®½Ã¿¡ ³¯ÀÇ °ªÀÌ ºÎÁ¤ÇÒ °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1206(InformixÀÇ Á¤ÀÇ)À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.

ECPG_INFORMIX_ENOSHORTDATE

ÇØ¼® 󸮰¡ ´ÜÃà ÀÏÀÚ Ç¥ÇöÀ» ÇÊ¿äÇÏ°Ô Çϰí ÀÖÁö¸¸, ¿Ã¹Ù¸¥ ±æÀÌÀÇ ÀÏÀÚ ¹®ÀÚ¿­À» ¾òÀ» ¼ö ¾ø¾ú´ø °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1209(InformixÀÇ Á¤ÀÇ)·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.

ECPG_INFORMIX_DATE_CONVERT

ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1210(InformixÀÇ Á¤ÀÇ)À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.

ECPG_INFORMIX_OUT_OF_MEMORY

ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1211(InformixÀÇ Á¤ÀÇ)À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.

ECPG_INFORMIX_ENOTDMY

ÇØ¼® 󸮴 ¼­½Ä ¸¶½ºÅ©(mmddyy¿Í °°Àº)°¡ Á¸ÀçÇÏ´Â °ÍÀ» ÀüÁ¦·Î Çϰí ÀÖÁö¸¸, ¸ðµç Çʵ尡 ¿Ã¹Ù¸£°Ô ¿­°ÅµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1212(InformixÀÇ Á¤ÀÇ)·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.

ECPG_INFORMIX_BAD_NUMERIC

ÇØ¼® 󸮰¡ ¿¡·¯À̱⠶§¹®¿¡, ¼öÄ¡ÀÇ ÅØ½ºÆ® Ç¥ÇöÀ» ÇØ¼®ÇÒ ¼ö ¾ø¾ú´ø °æ¿ì³ª, ¼öÄ¡ º¯¼öÀÇ Àû¾îµµ 1°³°¡ ¹«È¿À̱⠶§¹®¿¡ ¼öÄ¡ º¯¼ö¸¦ »ç¿ëÇÑ °è»êÀ» ¿Ï·áÇÒ ¼ö ¾ø¾ú´ø °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1213(InformixÀÇ Á¤ÀÇ)À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.

ECPG_INFORMIX_BAD_EXPONENT

ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1216(InformixÀÇ Á¤ÀÇ)À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.

ECPG_INFORMIX_BAD_DATE

ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1218(InformixÀÇ Á¤ÀÇ)À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.

ECPG_INFORMIX_EXTRA_CHARS

ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1264(InformixÀÇ Á¤ÀÇ)·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.