9.3. »ê¼ú ÇÔ¼ö¿Í ¿¬»êÀÚ

PostgreSQLÀÇ ¸¹Àº Çü¿¡ ´ëÇÑ »ê¼ú ¿¬»êÀÚ°¡ Á¦°øµË´Ï´Ù. ¸ðµç °¡´ÉÇÑ ¿¬»ê¿¡ ´ëÇØ¼­ ÀϹÝÀûÀÎ »ê¼ú ±Ô¾àÀÌ ¾ø´Â ÇüÅÂ(¿¹¸¦ µé¸é, ÀÏÀÚ/½Ã°¢ µ¥ÀÌÅÍÇü)¿¡ ´ëÇØ¼­´Â, ÈÄ¼ÓÆí¿¡¼­ ½ÇÁ¦ÀÇ µ¿ÀÛÀ» ¼³¸íÇÕ´Ï´Ù.

Table 9-2(Àº)´Â »ç¿ë °¡´ÉÇÑ »ê¼ú ¿¬»êÀÚ¸¦ ³ªÅ¸³»°í ÀÖ½À´Ï´Ù.

Table 9-2. »ê¼ú ¿¬»êÀÚ

¿¬»êÀÚ ¼³¸í ¿¹ °á°ú
+ µ¡¼À 2 + 3 5
- »¬¼À 2 - 3 -1
* °ö¼À 2 * 3 6
/ ³ª´°¼À(Á¤¼öÀÇ ³ª´°¼À¿¡¼­´Â ³ª¸ÓÁö¸¦ Àß¶ó ¹ö¸®°í) 4 / 2 2
% ¸ðµâ·Î(³ª¸ÓÁö) 5 % 4 1
^ ´©½Â¹ý 2.0 ^ 3.0 8
|/ Á¦°ö±Ù |/ 25.0 5
||/ ¼¼Á¦°ö±Ù ||/ 27.0 3
! °è½Â 5 ! 120
!! °è½Â(ÀüÄ¡¿¬»êÀÚ) !! 5 120
@ Àý´ë°ª @ -5. 0 5
& ¹ÙÀ̳ʸ®ÀÇ AND 91 & 15 11
| ¹ÙÀ̳ʸ®ÀÇ OR 32 | 3 35
# ¹ÙÀ̳ʸ®ÀÇ XOR 17 # 5 20
~ ¹ÙÀ̳ʸ®ÀÇ NOT< ~1 -2
<< ¹ÙÀ̳ʸ®ÀÇ ¿ÞÂÊ ½¬ÇÁÆ® 1 << 4 16
>> ¹ÙÀ̳ʸ®ÀÇ ¿À¸¥ÂÊ ½¬ÇÁÆ® 8 >> 2 2

¹ÙÀ̳ʸ® ¿¬»êÀÚ´Â ³»ºÎ µ¥ÀÌÅÍÇü¿¡¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÑÆí ´Ù¸¥ ¿¬»êÀÚ´Â ¸ðµç ¼öÄ¡ µ¥ÀÌÅÍÇü¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç, ¹ÙÀ̳ʸ® ¿¬»êÀÚ´ÂTable 9-10¿¡ ³ªÅ¸³»´Â,bit,bit varyingºñÆ® ¹®ÀÚ¿­Çü¿¡ ´ëÇØ¼­µµ »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

Table 9-3¿¡ »ç¿ë °¡´ÉÇÑ »ê¼ú ÇÔ¼ö¸¦ ³ªÅ¸³À´Ï´Ù. ÀÌ Ç¥³»ÀÇdp´Â,double precision¸¦ ÀǹÌÇÕ´Ï´Ù. À̰͵é ÇÔ¼öÀÇ »ó´ç¼ö´Â, ´Ù¸¥ ÀμöÇüÀ» °¡Áö´Â º¹¼öÀÇ ÇüÅ·ΠÁ¦°øµÇ°í ÀÖ½À´Ï´Ù. Ưº°ÇÑ °æ¿ì¸¦ Á¦¿ÜÇϰí´Â, ¸ðµç Çü½ÄÀÇ ÇÔ¼ö´Â ±× Àμö¿Í °°Àº µ¥ÀÌÅÍÇüÀ» ¹ÝȯÇÕ´Ï´Ù. double precisionµ¥ÀÌÅÍ¿¡ ´ëÇÑ ÇÔ¼öÀÇ ´ëºÎºÐÀº È£½ºÆ® ½Ã½ºÅÛÀÇ C¶óÀ̺귯¸®ÀÇ »óÃþ¿¡ ½ÇÀåµÇ°í ÀÖ½À´Ï´Ù. ÀÌ ¶§¹®¿¡, °æ°è °¡±îÀÌÀÇ °æ¿ìÀÇ Á¤¹Ðµµ¿Í ÇൿÀº È£½ºÆ® ½Ã½ºÅÛ¿¡ ÀÇÁ¸ÇØ ¹Ù²ò´Ï´Ù.

Table 9-3. »ê¼ú ÇÔ¼ö

ÇÔ¼ö ¹Ýȯ°ªÇü ¼³¸í ¿¹ °á°ú
abs( x ) ( x ¿Í °°´Ù) Àý´ë°ª abs(-17.4) 17.4
cbrt(dp) dp ¼¼Á¦°ö±Ù cbrt(27.0) 3
ceil(dp or numeric) (ÀÔ·ÂÇü°ú µ¿ÀÏ) smallest integer not less than argument ceil(-42. 8) -42
ceiling(dp or numeric) (ÀÔ·ÂÇü°ú µ¿ÀÏ) Àμöº¸´Ù ÀÛÁö ¾ÊÀº ÃÖ¼ÒÀÇ Á¤¼ö(ceilÀÇ º°¸í) ceiling(-95.3) -95
degrees(dp) dp ¶óµð¾ÈÀ» °¢µµµµ·Î º¯È¯ degrees(0.5) 28.6478897565412
exp(dp or numeric) (ÀÔ·ÂÇü°ú µ¿ÀÏ) Áö¼ö exp(1.0) 2.71828182845905
floor(dp or numeric) (ÀÔ·ÂÇü°ú µ¿ÀÏ) Àμöº¸´Ù Å©Áö ¾ÊÀº ÃÖ´ëÀÇ Á¤¼ö floor(-42. 8) -43
ln(dp or numeric) (ÀÔ·ÂÇü°ú µ¿ÀÏ) ÀÚ¿¬´ë¼ö ln(2.0) 0.693147180559945
log(dp or numeric) (ÀÔ·ÂÇü°ú µ¿ÀÏ) 10À» ±âº»À¸·Î ÇÑ ´ë¼ö(»ó¿ë´ë¼ö) log(100.0) 2
log(b numeric, x numeric) numeric b¸¦ ±âº»À¸·Î ÇÑ ´ë¼ö log(2.0, 64.0) 6.0000000000
mod(y, x) (ÀμöÀÇ ÇüÅÂ¿Í µ¿ÀÏ) y/xÀÇ ³ª¸ÓÁö mod(9,4) 1
pi() dp "¿øÁÖÀ²(¥ð)"»ó¼ö pi() 3.14159265358979
power(a dp, b dp) dp aÀÇb½Â power(9.0, 3.0) 729
power(a numeric, b numeric) numeric aÀÇb½Â power(9.0, 3.0) 729
radians(dp) dp °¢µµ¸¦ ¶óµð¾ÈÀ¸·Î º¯È¯ radians(45.0) 0.785398163397448
random() dp 0.0~1.0ÀÇ ¹üÀ§ÀÇ ·£´ý°ª random()  
round(dp or numeric) (ÀÔ·ÂÇü°ú µ¿ÀÏ) ¹Ý¿Ã¸²ÇÏ¿© °¡Àå °¡±î¿î Á¤¼ö·Î ¸¸µç´Ù round(42.4) 42
round(v numeric, s int) numeric ¹Ý¿Ã¸²ÇÏ¿© ¼Ò¼öÁ¡sÀÚ¸®±îÁö ¸¸µç´Ù round(42.4382, 2) 42.44
setseed(dp) int ÇâÈÄÀÇrandom()È£Ãâ·Î »ç¿ëµÇ´Â Á¾ÀÚÀÇ ¼³Á¤(0¿¡¼­ 1.0±îÁöÀÇ °ª) setseed(0.54823)  
sign(dp or numeric) (ÀÔ·ÂÇü°ú µ¿ÀÏ) ÀμöÀÇ ºÎÈ£(-1, 0,+1) sign(-8. 4) -1
sqrt(dp or numeric) (ÀÔ·ÂÇü°ú µ¿ÀÏ) Á¦°ö±Ù sqrt(2.0) 1.4142135623731
trunc(dp or numeric) (ÀÔ·ÂÇü°ú µ¿ÀÏ) Àß¶ó¼­ ¹ö¸² trunc(42.8) 42
trunc(v numeric, s int) numeric sÀÇ ÀÚ¸®¼ö·Î Àß¶ó¼­ ¹ö¸² trunc(42.4382, 2) 42.43
width_bucket(op numeric, b1 numeric, b2 numeric, count int) int operand¸¦ ÇÒ´çÇÒ ¼ö ÀÖ´Â, b1·ÎºÎÅÍb2±îÁöÀÇ ¹öŶ¼öcount ÀÇ µî½Éµµ È÷½ºÅä±×·¥ÀÇ ¹öŶÀ» ¹ÝȯÇÕ´Ï´Ù. width_bucket(5.35, 0.024, 10.06, 5) 3

¸¶Áö¸·À¸·Î, »ç¿ë °¡´ÉÇÑ »ï°¢ÇÔ¼ö¸¦Table 9-4¿¡ ³ªÅ¸³À´Ï´Ù. ¸ðµç »ï°¢ÇÔ¼ö´Âdouble precisionµ¥ÀÌÅÍÇüÀÇ Àμö¿Í ¹Ýȯ°ªÀ» ÃëÇÕ´Ï´Ù.

Table 9-4. »ï°¢ÇÔ¼ö

ÇÔ¼ö ¼³¸í
acos( x ) ¿ªÄÚ»çÀÎ ÇÔ¼ö
asin( x ) ¿ª»çÀÎ ÇÔ¼ö
atan( x ) ¿ªÅºÁ¨Æ® ÇÔ¼ö
atan2( x , y ) y / x ÀÇ ¿ªÅºÁ¨Æ® ÇÔ¼ö
cos( x ) ÄÚ»çÀÎ ÇÔ¼ö
cot( x ) ÄÚźÁ¨Æ® ÇÔ¼ö
sin( x ) »çÀÎ °ü¼ö
tan( x ) źÁ¨Æ® ÇÔ¼ö