| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 31. ECPG - C¾ð¾î¿¡ ÀÇÇÑ ¸ÅÀÔSQL | Fast Forward | Next |
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¿¡¼´Â Áö¿øÇÒ ¼ö ¾ø´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ¸í·É¹®Àº ÇöÀçÀÇ ¿¬°áÀ» ´Ý½À´Ï´Ù. ½ÇÁ¦, À̰ÍÀº ecpgÀÇ DISCONNECT CURRENT¿Í µ¿ÀǾîÀÔ´Ï´Ù.
$CLOSE DATABASE; /* close the current connection */
EXEC SQL CLOSE DATABASE;
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);
¿©±â¼ °¡¸®Å°´Â Á¤¼ö´Â ¸ðµÎ ¿¡·¯¸¦ ³ªÅ¸³»´Â °ÍÀ̾î, ºÎÀÇ °ªÀ» ³ªÅ¸³»µµ·Ï Á¤Àǵǰí ÀÖ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ¶Ç, ´Ù¸¥ Á¤¼öÀÇ ¼³¸í¿¡¼´Â, ÇöÀçÀÇ ±¸ÇöÀ¸·Î Á¤¼ö°¡ ³ªÅ¸³»´Â ¼öÄ¡¸¦ ¾Ë ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, ÀÌ ¼öÄ¡¿¡ ÀÇÁ¸ÇÏÁö ¾Ê½À´Ï´Ù. ±×·¯³ª, ÀÌ·¯ÇÑ ¸ðµç °ÍÀÌ ºÎÀÇ °ªÀÎ °Í¿¡ ÀÇÁ¸ÇÏ´Â °ÍÀº °¡´ÉÇÕ´Ï´Ù.
°è»ê½Ã¿¡ ¿À¹öÇ÷ο찡 ¹ß»ýÇßÀ» °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1200(InformixÀÇ Á¤ÀÇ)À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.
°è»ê½Ã¿¡ ¾ð´õ Ç÷οì(underflow)°¡ ¹ß»ýÇßÀ» °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1201(InformixÀÇ Á¤ÀÇ)À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.
°è»ê½Ã¿¡ 0 ³ª´©±â°¡ ¹ß»ýÇßÀ» °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1202(InformixÀÇ Á¤ÀÇ)·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.
ÀÏÀÚÀÇ ÇØ¼®½Ã¿¡ ³âÀÇ °ªÀÌ ºÎÁ¤ÇÒ °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1204(InformixÀÇ Á¤ÀÇ)·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.
ÀÏÀÚÀÇ ÇØ¼®½Ã¿¡ ¿ùÀÇ °ªÀÌ ºÎÁ¤ÇÒ °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1205(InformixÀÇ Á¤ÀÇ)·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.
ÀÏÀÚÀÇ ÇØ¼®½Ã¿¡ ³¯ÀÇ °ªÀÌ ºÎÁ¤ÇÒ °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1206(InformixÀÇ Á¤ÀÇ)À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.
ÇØ¼® 󸮰¡ ´ÜÃà ÀÏÀÚ Ç¥ÇöÀ» ÇÊ¿äÇÏ°Ô Çϰí ÀÖÁö¸¸, ¿Ã¹Ù¸¥ ±æÀÌÀÇ ÀÏÀÚ ¹®ÀÚ¿À» ¾òÀ» ¼ö ¾ø¾ú´ø °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1209(InformixÀÇ Á¤ÀÇ)·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.
ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1210(InformixÀÇ Á¤ÀÇ)À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.
ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1211(InformixÀÇ Á¤ÀÇ)À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.
ÇØ¼® 󸮴 ¼½Ä ¸¶½ºÅ©(mmddyy¿Í °°Àº)°¡ Á¸ÀçÇÏ´Â °ÍÀ» ÀüÁ¦·Î Çϰí ÀÖÁö¸¸, ¸ðµç Çʵ尡 ¿Ã¹Ù¸£°Ô ¿°ÅµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1212(InformixÀÇ Á¤ÀÇ)·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.
ÇØ¼® 󸮰¡ ¿¡·¯À̱⠶§¹®¿¡, ¼öÄ¡ÀÇ ÅØ½ºÆ® Ç¥ÇöÀ» ÇØ¼®ÇÒ ¼ö ¾ø¾ú´ø °æ¿ì³ª, ¼öÄ¡ º¯¼öÀÇ Àû¾îµµ 1°³°¡ ¹«È¿À̱⠶§¹®¿¡ ¼öÄ¡ º¯¼ö¸¦ »ç¿ëÇÑ °è»êÀ» ¿Ï·áÇÒ ¼ö ¾ø¾ú´ø °æ¿ì, ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1213(InformixÀÇ Á¤ÀÇ)À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.
ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1216(InformixÀÇ Á¤ÀÇ)À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.
ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1218(InformixÀÇ Á¤ÀÇ)À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.
ÇÔ¼ö´Â ÀÌ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ³»ºÎÀûÀ¸·Î´Â ¡ª1264(InformixÀÇ Á¤ÀÇ)·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù.