gooderp18绿色标准版
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

209 linhas
29KB

  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>9.3. Mathematical Functions and Operators</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@lists.postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="prev" href="functions-comparison.html" title="9.2. Comparison Functions and Operators" /><link rel="next" href="functions-string.html" title="9.4. String Functions and Operators" /></head><body><div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">9.3. Mathematical Functions and Operators</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="functions-comparison.html" title="9.2. Comparison Functions and Operators">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="functions.html" title="Chapter 9. Functions and Operators">Up</a></td><th width="60%" align="center">Chapter 9. Functions and Operators</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 12.4 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="functions-string.html" title="9.4. String Functions and Operators">Next</a></td></tr></table><hr></hr></div><div class="sect1" id="FUNCTIONS-MATH"><div class="titlepage"><div><div><h2 class="title" style="clear: both">9.3. Mathematical Functions and Operators</h2></div></div></div><p>
  3. Mathematical operators are provided for many
  4. <span class="productname">PostgreSQL</span> types. For types without
  5. standard mathematical conventions
  6. (e.g., date/time types) we
  7. describe the actual behavior in subsequent sections.
  8. </p><p>
  9. <a class="xref" href="functions-math.html#FUNCTIONS-MATH-OP-TABLE" title="Table 9.4. Mathematical Operators">Table 9.4</a> shows the available mathematical operators.
  10. </p><div class="table" id="FUNCTIONS-MATH-OP-TABLE"><p class="title"><strong>Table 9.4. Mathematical Operators</strong></p><div class="table-contents"><table class="table" summary="Mathematical Operators" border="1"><colgroup><col /><col /><col /><col /></colgroup><thead><tr><th>Operator</th><th>Description</th><th>Example</th><th>Result</th></tr></thead><tbody><tr><td> <code class="literal">+</code> </td><td>addition</td><td><code class="literal">2 + 3</code></td><td><code class="literal">5</code></td></tr><tr><td> <code class="literal">-</code> </td><td>subtraction</td><td><code class="literal">2 - 3</code></td><td><code class="literal">-1</code></td></tr><tr><td> <code class="literal">*</code> </td><td>multiplication</td><td><code class="literal">2 * 3</code></td><td><code class="literal">6</code></td></tr><tr><td> <code class="literal">/</code> </td><td>division (integer division truncates the result)</td><td><code class="literal">4 / 2</code></td><td><code class="literal">2</code></td></tr><tr><td> <code class="literal">%</code> </td><td>modulo (remainder)</td><td><code class="literal">5 % 4</code></td><td><code class="literal">1</code></td></tr><tr><td> <code class="literal">^</code> </td><td>exponentiation (associates left to right)</td><td><code class="literal">2.0 ^ 3.0</code></td><td><code class="literal">8</code></td></tr><tr><td> <code class="literal">|/</code> </td><td>square root</td><td><code class="literal">|/ 25.0</code></td><td><code class="literal">5</code></td></tr><tr><td> <code class="literal">||/</code> </td><td>cube root</td><td><code class="literal">||/ 27.0</code></td><td><code class="literal">3</code></td></tr><tr><td> <code class="literal">!</code> </td><td>factorial</td><td><code class="literal">5 !</code></td><td><code class="literal">120</code></td></tr><tr><td> <code class="literal">!!</code> </td><td>factorial (prefix operator)</td><td><code class="literal">!! 5</code></td><td><code class="literal">120</code></td></tr><tr><td> <code class="literal">@</code> </td><td>absolute value</td><td><code class="literal">@ -5.0</code></td><td><code class="literal">5</code></td></tr><tr><td> <code class="literal">&amp;</code> </td><td>bitwise AND</td><td><code class="literal">91 &amp; 15</code></td><td><code class="literal">11</code></td></tr><tr><td> <code class="literal">|</code> </td><td>bitwise OR</td><td><code class="literal">32 | 3</code></td><td><code class="literal">35</code></td></tr><tr><td> <code class="literal">#</code> </td><td>bitwise XOR</td><td><code class="literal">17 # 5</code></td><td><code class="literal">20</code></td></tr><tr><td> <code class="literal">~</code> </td><td>bitwise NOT</td><td><code class="literal">~1</code></td><td><code class="literal">-2</code></td></tr><tr><td> <code class="literal">&lt;&lt;</code> </td><td>bitwise shift left</td><td><code class="literal">1 &lt;&lt; 4</code></td><td><code class="literal">16</code></td></tr><tr><td> <code class="literal">&gt;&gt;</code> </td><td>bitwise shift right</td><td><code class="literal">8 &gt;&gt; 2</code></td><td><code class="literal">2</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
  11. The bitwise operators work only on integral data types and are also
  12. available for the bit
  13. string types <code class="type">bit</code> and <code class="type">bit varying</code>, as
  14. shown in <a class="xref" href="functions-bitstring.html#FUNCTIONS-BIT-STRING-OP-TABLE" title="Table 9.14. Bit String Operators">Table 9.14</a>.
  15. </p><p>
  16. <a class="xref" href="functions-math.html#FUNCTIONS-MATH-FUNC-TABLE" title="Table 9.5. Mathematical Functions">Table 9.5</a> shows the available
  17. mathematical functions. In the table, <code class="literal">dp</code>
  18. indicates <code class="type">double precision</code>. Many of these functions
  19. are provided in multiple forms with different argument types.
  20. Except where noted, any given form of a function returns the same
  21. data type as its argument.
  22. The functions working with <code class="type">double precision</code> data are mostly
  23. implemented on top of the host system's C library; accuracy and behavior in
  24. boundary cases can therefore vary depending on the host system.
  25. </p><div class="table" id="FUNCTIONS-MATH-FUNC-TABLE"><p class="title"><strong>Table 9.5. Mathematical Functions</strong></p><div class="table-contents"><table class="table" summary="Mathematical Functions" border="1"><colgroup><col /><col /><col /><col /><col /></colgroup><thead><tr><th>Function</th><th>Return Type</th><th>Description</th><th>Example</th><th>Result</th></tr></thead><tbody><tr><td>
  26. <a id="id-1.5.8.8.7.2.2.1.1.1" class="indexterm"></a>
  27. <code class="literal"><code class="function">abs(<em class="replaceable"><code>x</code></em>)</code></code>
  28. </td><td>(same as input)</td><td>absolute value</td><td><code class="literal">abs(-17.4)</code></td><td><code class="literal">17.4</code></td></tr><tr><td>
  29. <a id="id-1.5.8.8.7.2.2.2.1.1" class="indexterm"></a>
  30. <code class="literal"><code class="function">cbrt(<code class="type">dp</code>)</code></code>
  31. </td><td><code class="type">dp</code></td><td>cube root</td><td><code class="literal">cbrt(27.0)</code></td><td><code class="literal">3</code></td></tr><tr><td>
  32. <a id="id-1.5.8.8.7.2.2.3.1.1" class="indexterm"></a>
  33. <code class="literal"><code class="function">ceil(<code class="type">dp</code> or <code class="type">numeric</code>)</code></code>
  34. </td><td>(same as input)</td><td>nearest integer greater than or equal to argument</td><td><code class="literal">ceil(-42.8)</code></td><td><code class="literal">-42</code></td></tr><tr><td>
  35. <a id="id-1.5.8.8.7.2.2.4.1.1" class="indexterm"></a>
  36. <code class="literal"><code class="function">ceiling(<code class="type">dp</code> or <code class="type">numeric</code>)</code></code>
  37. </td><td>(same as input)</td><td>nearest integer greater than or equal to argument (same as <code class="function">ceil</code>)</td><td><code class="literal">ceiling(-95.3)</code></td><td><code class="literal">-95</code></td></tr><tr><td>
  38. <a id="id-1.5.8.8.7.2.2.5.1.1" class="indexterm"></a>
  39. <code class="literal"><code class="function">degrees(<code class="type">dp</code>)</code></code>
  40. </td><td><code class="type">dp</code></td><td>radians to degrees</td><td><code class="literal">degrees(0.5)</code></td><td><code class="literal">28.6478897565412</code></td></tr><tr><td>
  41. <a id="id-1.5.8.8.7.2.2.6.1.1" class="indexterm"></a>
  42. <code class="literal"><code class="function">div(<em class="parameter"><code>y</code></em> <code class="type">numeric</code>,
  43. <em class="parameter"><code>x</code></em> <code class="type">numeric</code>)</code></code>
  44. </td><td><code class="type">numeric</code></td><td>integer quotient of <em class="parameter"><code>y</code></em>/<em class="parameter"><code>x</code></em></td><td><code class="literal">div(9,4)</code></td><td><code class="literal">2</code></td></tr><tr><td>
  45. <a id="id-1.5.8.8.7.2.2.7.1.1" class="indexterm"></a>
  46. <code class="literal"><code class="function">exp(<code class="type">dp</code> or <code class="type">numeric</code>)</code></code>
  47. </td><td>(same as input)</td><td>exponential</td><td><code class="literal">exp(1.0)</code></td><td><code class="literal">2.71828182845905</code></td></tr><tr><td>
  48. <a id="id-1.5.8.8.7.2.2.8.1.1" class="indexterm"></a>
  49. <code class="literal"><code class="function">floor(<code class="type">dp</code> or <code class="type">numeric</code>)</code></code>
  50. </td><td>(same as input)</td><td>nearest integer less than or equal to argument</td><td><code class="literal">floor(-42.8)</code></td><td><code class="literal">-43</code></td></tr><tr><td>
  51. <a id="id-1.5.8.8.7.2.2.9.1.1" class="indexterm"></a>
  52. <code class="literal"><code class="function">ln(<code class="type">dp</code> or <code class="type">numeric</code>)</code></code>
  53. </td><td>(same as input)</td><td>natural logarithm</td><td><code class="literal">ln(2.0)</code></td><td><code class="literal">0.693147180559945</code></td></tr><tr><td>
  54. <a id="id-1.5.8.8.7.2.2.10.1.1" class="indexterm"></a>
  55. <code class="literal"><code class="function">log(<code class="type">dp</code> or <code class="type">numeric</code>)</code></code>
  56. </td><td>(same as input)</td><td>base 10 logarithm</td><td><code class="literal">log(100.0)</code></td><td><code class="literal">2</code></td></tr><tr><td>
  57. <a id="id-1.5.8.8.7.2.2.11.1.1" class="indexterm"></a>
  58. <code class="literal"><code class="function">log10(<code class="type">dp</code> or <code class="type">numeric</code>)</code></code>
  59. </td><td>(same as input)</td><td>base 10 logarithm</td><td><code class="literal">log10(100.0)</code></td><td><code class="literal">2</code></td></tr><tr><td><code class="literal"><code class="function">log(<em class="parameter"><code>b</code></em> <code class="type">numeric</code>,
  60. <em class="parameter"><code>x</code></em> <code class="type">numeric</code>)</code></code></td><td><code class="type">numeric</code></td><td>logarithm to base <em class="parameter"><code>b</code></em></td><td><code class="literal">log(2.0, 64.0)</code></td><td><code class="literal">6.0000000000</code></td></tr><tr><td>
  61. <a id="id-1.5.8.8.7.2.2.13.1.1" class="indexterm"></a>
  62. <code class="literal"><code class="function">mod(<em class="parameter"><code>y</code></em>,
  63. <em class="parameter"><code>x</code></em>)</code></code>
  64. </td><td>(same as argument types)</td><td>remainder of <em class="parameter"><code>y</code></em>/<em class="parameter"><code>x</code></em></td><td><code class="literal">mod(9,4)</code></td><td><code class="literal">1</code></td></tr><tr><td>
  65. <a id="id-1.5.8.8.7.2.2.14.1.1" class="indexterm"></a>
  66. <code class="literal"><code class="function">pi()</code></code>
  67. </td><td><code class="type">dp</code></td><td><span class="quote">“<span class="quote">π</span>”</span> constant</td><td><code class="literal">pi()</code></td><td><code class="literal">3.14159265358979</code></td></tr><tr><td>
  68. <a id="id-1.5.8.8.7.2.2.15.1.1" class="indexterm"></a>
  69. <code class="literal"><code class="function">power(<em class="parameter"><code>a</code></em> <code class="type">dp</code>,
  70. <em class="parameter"><code>b</code></em> <code class="type">dp</code>)</code></code>
  71. </td><td><code class="type">dp</code></td><td><em class="parameter"><code>a</code></em> raised to the power of <em class="parameter"><code>b</code></em></td><td><code class="literal">power(9.0, 3.0)</code></td><td><code class="literal">729</code></td></tr><tr><td><code class="literal"><code class="function">power(<em class="parameter"><code>a</code></em> <code class="type">numeric</code>,
  72. <em class="parameter"><code>b</code></em> <code class="type">numeric</code>)</code></code></td><td><code class="type">numeric</code></td><td><em class="parameter"><code>a</code></em> raised to the power of <em class="parameter"><code>b</code></em></td><td><code class="literal">power(9.0, 3.0)</code></td><td><code class="literal">729</code></td></tr><tr><td>
  73. <a id="id-1.5.8.8.7.2.2.17.1.1" class="indexterm"></a>
  74. <code class="literal"><code class="function">radians(<code class="type">dp</code>)</code></code>
  75. </td><td><code class="type">dp</code></td><td>degrees to radians</td><td><code class="literal">radians(45.0)</code></td><td><code class="literal">0.785398163397448</code></td></tr><tr><td>
  76. <a id="id-1.5.8.8.7.2.2.18.1.1" class="indexterm"></a>
  77. <code class="literal"><code class="function">round(<code class="type">dp</code> or <code class="type">numeric</code>)</code></code>
  78. </td><td>(same as input)</td><td>round to nearest integer</td><td><code class="literal">round(42.4)</code></td><td><code class="literal">42</code></td></tr><tr><td><code class="literal"><code class="function">round(<em class="parameter"><code>v</code></em> <code class="type">numeric</code>, <em class="parameter"><code>s</code></em> <code class="type">int</code>)</code></code></td><td><code class="type">numeric</code></td><td>round to <em class="parameter"><code>s</code></em> decimal places</td><td><code class="literal">round(42.4382, 2)</code></td><td><code class="literal">42.44</code></td></tr><tr><td>
  79. <a id="id-1.5.8.8.7.2.2.20.1.1" class="indexterm"></a>
  80. <code class="literal"><code class="function">scale(<code class="type">numeric</code>)</code></code>
  81. </td><td><code class="type">integer</code></td><td>scale of the argument (the number of decimal digits in the fractional part)</td><td><code class="literal">scale(8.41)</code></td><td><code class="literal">2</code></td></tr><tr><td>
  82. <a id="id-1.5.8.8.7.2.2.21.1.1" class="indexterm"></a>
  83. <code class="literal"><code class="function">sign(<code class="type">dp</code> or <code class="type">numeric</code>)</code></code>
  84. </td><td>(same as input)</td><td>sign of the argument (-1, 0, +1)</td><td><code class="literal">sign(-8.4)</code></td><td><code class="literal">-1</code></td></tr><tr><td>
  85. <a id="id-1.5.8.8.7.2.2.22.1.1" class="indexterm"></a>
  86. <code class="literal"><code class="function">sqrt(<code class="type">dp</code> or <code class="type">numeric</code>)</code></code>
  87. </td><td>(same as input)</td><td>square root</td><td><code class="literal">sqrt(2.0)</code></td><td><code class="literal">1.4142135623731</code></td></tr><tr><td>
  88. <a id="id-1.5.8.8.7.2.2.23.1.1" class="indexterm"></a>
  89. <code class="literal"><code class="function">trunc(<code class="type">dp</code> or <code class="type">numeric</code>)</code></code>
  90. </td><td>(same as input)</td><td>truncate toward zero</td><td><code class="literal">trunc(42.8)</code></td><td><code class="literal">42</code></td></tr><tr><td><code class="literal"><code class="function">trunc(<em class="parameter"><code>v</code></em> <code class="type">numeric</code>, <em class="parameter"><code>s</code></em> <code class="type">int</code>)</code></code></td><td><code class="type">numeric</code></td><td>truncate to <em class="parameter"><code>s</code></em> decimal places</td><td><code class="literal">trunc(42.4382, 2)</code></td><td><code class="literal">42.43</code></td></tr><tr><td>
  91. <a id="id-1.5.8.8.7.2.2.25.1.1" class="indexterm"></a>
  92. <code class="literal"><code class="function">width_bucket(<em class="parameter"><code>operand</code></em> <code class="type">dp</code>, <em class="parameter"><code>b1</code></em> <code class="type">dp</code>, <em class="parameter"><code>b2</code></em> <code class="type">dp</code>, <em class="parameter"><code>count</code></em> <code class="type">int</code>)</code></code></td><td><code class="type">int</code></td><td>return the bucket number to which <em class="parameter"><code>operand</code></em> would
  93. be assigned in a histogram having <em class="parameter"><code>count</code></em> equal-width
  94. buckets spanning the range <em class="parameter"><code>b1</code></em> to <em class="parameter"><code>b2</code></em>;
  95. returns <code class="literal">0</code> or <code class="literal"><em class="parameter"><code>count</code></em>+1</code> for
  96. an input outside the range</td><td><code class="literal">width_bucket(5.35, 0.024, 10.06, 5)</code></td><td><code class="literal">3</code></td></tr><tr><td><code class="literal"><code class="function">width_bucket(<em class="parameter"><code>operand</code></em> <code class="type">numeric</code>, <em class="parameter"><code>b1</code></em> <code class="type">numeric</code>, <em class="parameter"><code>b2</code></em> <code class="type">numeric</code>, <em class="parameter"><code>count</code></em> <code class="type">int</code>)</code></code></td><td><code class="type">int</code></td><td>return the bucket number to which <em class="parameter"><code>operand</code></em> would
  97. be assigned in a histogram having <em class="parameter"><code>count</code></em> equal-width
  98. buckets spanning the range <em class="parameter"><code>b1</code></em> to <em class="parameter"><code>b2</code></em>;
  99. returns <code class="literal">0</code> or <code class="literal"><em class="parameter"><code>count</code></em>+1</code> for
  100. an input outside the range</td><td><code class="literal">width_bucket(5.35, 0.024, 10.06, 5)</code></td><td><code class="literal">3</code></td></tr><tr><td><code class="literal"><code class="function">width_bucket(<em class="parameter"><code>operand</code></em> <code class="type">anyelement</code>, <em class="parameter"><code>thresholds</code></em> <code class="type">anyarray</code>)</code></code></td><td><code class="type">int</code></td><td>return the bucket number to which <em class="parameter"><code>operand</code></em> would
  101. be assigned given an array listing the lower bounds of the buckets;
  102. returns <code class="literal">0</code> for an input less than the first lower bound;
  103. the <em class="parameter"><code>thresholds</code></em> array <span class="emphasis"><em>must be sorted</em></span>,
  104. smallest first, or unexpected results will be obtained</td><td><code class="literal">width_bucket(now(), array['yesterday', 'today', 'tomorrow']::timestamptz[])</code></td><td><code class="literal">2</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
  105. <a class="xref" href="functions-math.html#FUNCTIONS-MATH-RANDOM-TABLE" title="Table 9.6. Random Functions">Table 9.6</a> shows functions for
  106. generating random numbers.
  107. </p><div class="table" id="FUNCTIONS-MATH-RANDOM-TABLE"><p class="title"><strong>Table 9.6. Random Functions</strong></p><div class="table-contents"><table class="table" summary="Random Functions" border="1"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Function</th><th>Return Type</th><th>Description</th></tr></thead><tbody><tr><td>
  108. <a id="id-1.5.8.8.9.2.2.1.1.1" class="indexterm"></a>
  109. <code class="literal"><code class="function">random()</code></code>
  110. </td><td><code class="type">dp</code></td><td>random value in the range 0.0 &lt;= x &lt; 1.0</td></tr><tr><td>
  111. <a id="id-1.5.8.8.9.2.2.2.1.1" class="indexterm"></a>
  112. <code class="literal"><code class="function">setseed(<code class="type">dp</code>)</code></code>
  113. </td><td><code class="type">void</code></td><td>set seed for subsequent <code class="literal">random()</code> calls (value between -1.0 and
  114. 1.0, inclusive)</td></tr></tbody></table></div></div><br class="table-break" /><p>
  115. The <code class="function">random()</code> function uses a simple linear
  116. congruential algorithm. It is fast but not suitable for cryptographic
  117. applications; see the <a class="xref" href="pgcrypto.html" title="F.25. pgcrypto">pgcrypto</a> module for a more
  118. secure alternative.
  119. If <code class="function">setseed()</code> is called, the results of
  120. subsequent <code class="function">random()</code> calls in the current session are
  121. repeatable by re-issuing <code class="function">setseed()</code> with the same
  122. argument.
  123. </p><p>
  124. <a class="xref" href="functions-math.html#FUNCTIONS-MATH-TRIG-TABLE" title="Table 9.7. Trigonometric Functions">Table 9.7</a> shows the
  125. available trigonometric functions. All these functions
  126. take arguments and return values of type <code class="type">double
  127. precision</code>. Each of the trigonometric functions comes in
  128. two variants, one that measures angles in radians and one that
  129. measures angles in degrees.
  130. </p><div class="table" id="FUNCTIONS-MATH-TRIG-TABLE"><p class="title"><strong>Table 9.7. Trigonometric Functions</strong></p><div class="table-contents"><table class="table" summary="Trigonometric Functions" border="1"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Function (radians)</th><th>Function (degrees)</th><th>Description</th></tr></thead><tbody><tr><td>
  131. <a id="id-1.5.8.8.12.2.2.1.1.1" class="indexterm"></a><code class="literal"><code class="function">acos(<em class="replaceable"><code>x</code></em>)</code></code>
  132. </td><td>
  133. <a id="id-1.5.8.8.12.2.2.1.2.1" class="indexterm"></a><code class="literal"><code class="function">acosd(<em class="replaceable"><code>x</code></em>)</code></code>
  134. </td><td>inverse cosine</td></tr><tr><td>
  135. <a id="id-1.5.8.8.12.2.2.2.1.1" class="indexterm"></a>
  136. <code class="literal"><code class="function">asin(<em class="replaceable"><code>x</code></em>)</code></code>
  137. </td><td>
  138. <a id="id-1.5.8.8.12.2.2.2.2.1" class="indexterm"></a>
  139. <code class="literal"><code class="function">asind(<em class="replaceable"><code>x</code></em>)</code></code>
  140. </td><td>inverse sine</td></tr><tr><td>
  141. <a id="id-1.5.8.8.12.2.2.3.1.1" class="indexterm"></a>
  142. <code class="literal"><code class="function">atan(<em class="replaceable"><code>x</code></em>)</code></code>
  143. </td><td>
  144. <a id="id-1.5.8.8.12.2.2.3.2.1" class="indexterm"></a>
  145. <code class="literal"><code class="function">atand(<em class="replaceable"><code>x</code></em>)</code></code>
  146. </td><td>inverse tangent</td></tr><tr><td>
  147. <a id="id-1.5.8.8.12.2.2.4.1.1" class="indexterm"></a>
  148. <code class="literal"><code class="function">atan2(<em class="replaceable"><code>y</code></em>,
  149. <em class="replaceable"><code>x</code></em>)</code></code>
  150. </td><td>
  151. <a id="id-1.5.8.8.12.2.2.4.2.1" class="indexterm"></a>
  152. <code class="literal"><code class="function">atan2d(<em class="replaceable"><code>y</code></em>,
  153. <em class="replaceable"><code>x</code></em>)</code></code>
  154. </td><td>inverse tangent of
  155. <code class="literal"><em class="replaceable"><code>y</code></em>/<em class="replaceable"><code>x</code></em></code></td></tr><tr><td>
  156. <a id="id-1.5.8.8.12.2.2.5.1.1" class="indexterm"></a>
  157. <code class="literal"><code class="function">cos(<em class="replaceable"><code>x</code></em>)</code></code>
  158. </td><td>
  159. <a id="id-1.5.8.8.12.2.2.5.2.1" class="indexterm"></a>
  160. <code class="literal"><code class="function">cosd(<em class="replaceable"><code>x</code></em>)</code></code>
  161. </td><td>cosine</td></tr><tr><td>
  162. <a id="id-1.5.8.8.12.2.2.6.1.1" class="indexterm"></a>
  163. <code class="literal"><code class="function">cot(<em class="replaceable"><code>x</code></em>)</code></code>
  164. </td><td>
  165. <a id="id-1.5.8.8.12.2.2.6.2.1" class="indexterm"></a>
  166. <code class="literal"><code class="function">cotd(<em class="replaceable"><code>x</code></em>)</code></code>
  167. </td><td>cotangent</td></tr><tr><td>
  168. <a id="id-1.5.8.8.12.2.2.7.1.1" class="indexterm"></a>
  169. <code class="literal"><code class="function">sin(<em class="replaceable"><code>x</code></em>)</code></code>
  170. </td><td>
  171. <a id="id-1.5.8.8.12.2.2.7.2.1" class="indexterm"></a>
  172. <code class="literal"><code class="function">sind(<em class="replaceable"><code>x</code></em>)</code></code>
  173. </td><td>sine</td></tr><tr><td>
  174. <a id="id-1.5.8.8.12.2.2.8.1.1" class="indexterm"></a>
  175. <code class="literal"><code class="function">tan(<em class="replaceable"><code>x</code></em>)</code></code>
  176. </td><td>
  177. <a id="id-1.5.8.8.12.2.2.8.2.1" class="indexterm"></a>
  178. <code class="literal"><code class="function">tand(<em class="replaceable"><code>x</code></em>)</code></code>
  179. </td><td>tangent</td></tr></tbody></table></div></div><br class="table-break" /><div class="note"><h3 class="title">Note</h3><p>
  180. Another way to work with angles measured in degrees is to use the unit
  181. transformation functions <code class="literal"><code class="function">radians()</code></code>
  182. and <code class="literal"><code class="function">degrees()</code></code> shown earlier.
  183. However, using the degree-based trigonometric functions is preferred,
  184. as that way avoids round-off error for special cases such
  185. as <code class="literal">sind(30)</code>.
  186. </p></div><p>
  187. <a class="xref" href="functions-math.html#FUNCTIONS-MATH-HYP-TABLE" title="Table 9.8. Hyperbolic Functions">Table 9.8</a> shows the
  188. available hyperbolic functions. All these functions
  189. take arguments and return values of type <code class="type">double
  190. precision</code>.
  191. </p><div class="table" id="FUNCTIONS-MATH-HYP-TABLE"><p class="title"><strong>Table 9.8. Hyperbolic Functions</strong></p><div class="table-contents"><table class="table" summary="Hyperbolic Functions" border="1"><colgroup><col /><col /><col /><col /></colgroup><thead><tr><th>Function</th><th>Description</th><th>Example</th><th>Result</th></tr></thead><tbody><tr><td>
  192. <a id="id-1.5.8.8.15.2.2.1.1.1" class="indexterm"></a>
  193. <code class="literal"><code class="function">sinh(<em class="replaceable"><code>x</code></em>)</code></code>
  194. </td><td>hyperbolic sine</td><td><code class="literal">sinh(0)</code></td><td><code class="literal">0</code></td></tr><tr><td>
  195. <a id="id-1.5.8.8.15.2.2.2.1.1" class="indexterm"></a>
  196. <code class="literal"><code class="function">cosh(<em class="replaceable"><code>x</code></em>)</code></code>
  197. </td><td>hyperbolic cosine</td><td><code class="literal">cosh(0)</code></td><td><code class="literal">1</code></td></tr><tr><td>
  198. <a id="id-1.5.8.8.15.2.2.3.1.1" class="indexterm"></a>
  199. <code class="literal"><code class="function">tanh(<em class="replaceable"><code>x</code></em>)</code></code>
  200. </td><td>hyperbolic tangent</td><td><code class="literal">tanh(0)</code></td><td><code class="literal">0</code></td></tr><tr><td>
  201. <a id="id-1.5.8.8.15.2.2.4.1.1" class="indexterm"></a>
  202. <code class="literal"><code class="function">asinh(<em class="replaceable"><code>x</code></em>)</code></code>
  203. </td><td>inverse hyperbolic sine</td><td><code class="literal">asinh(0)</code></td><td><code class="literal">0</code></td></tr><tr><td>
  204. <a id="id-1.5.8.8.15.2.2.5.1.1" class="indexterm"></a>
  205. <code class="literal"><code class="function">acosh(<em class="replaceable"><code>x</code></em>)</code></code>
  206. </td><td>inverse hyperbolic cosine</td><td><code class="literal">acosh(1)</code></td><td><code class="literal">0</code></td></tr><tr><td>
  207. <a id="id-1.5.8.8.15.2.2.6.1.1" class="indexterm"></a>
  208. <code class="literal"><code class="function">atanh(<em class="replaceable"><code>x</code></em>)</code></code>
  209. </td><td>inverse hyperbolic tangent</td><td><code class="literal">atanh(0)</code></td><td><code class="literal">0</code></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="functions-comparison.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="functions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="functions-string.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">9.2. Comparison Functions and Operators </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 9.4. String Functions and Operators</td></tr></table></div></body></html>
上海开阖软件有限公司 沪ICP备12045867号-1