Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
functions-math.html1042 linesDownload Raw Back to html
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 Vsnapshot" /><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 id="docContent" class="container-fluid col-10"><div 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 16.3 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 /></div><div class="sect1" id="FUNCTIONS-MATH"><div class="titlepage"><div><div><h2 class="title" style="clear: both">9.3. Mathematical Functions and Operators <a href="#FUNCTIONS-MATH" class="id_link">#</a></h2></div></div></div><p>3    Mathematical operators are provided for many4    <span class="productname">PostgreSQL</span> types. For types without5    standard mathematical conventions6    (e.g., date/time types) we7    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 mathematical10    operators that are available for the standard numeric types.11    Unless otherwise noted, operators shown as12    accepting <em class="replaceable"><code>numeric_type</code></em> are available for all13    the types <code class="type">smallint</code>, <code class="type">integer</code>,14    <code class="type">bigint</code>, <code class="type">numeric</code>, <code class="type">real</code>,15    and <code class="type">double precision</code>.16    Operators shown as accepting <em class="replaceable"><code>integral_type</code></em>17    are available for the types <code class="type">smallint</code>, <code class="type">integer</code>,18    and <code class="type">bigint</code>.19    Except where noted, each form of an operator returns the same data type20    as its argument(s).  Calls involving multiple argument data types, such21    as <code class="type">integer</code> <code class="literal">+</code> <code class="type">numeric</code>,22    are resolved by using the type appearing later in these lists.23   </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 /></colgroup><thead><tr><th class="func_table_entry"><p class="func_signature">24        Operator25       </p>26       <p>27        Description28       </p>29       <p>30        Example(s)31       </p></th></tr></thead><tbody><tr><td class="func_table_entry"><p class="func_signature">32        <em class="replaceable"><code>numeric_type</code></em> <code class="literal">+</code> <em class="replaceable"><code>numeric_type</code></em>33        → <code class="returnvalue"><em class="replaceable"><code>numeric_type</code></em></code>34       </p>35       <p>36        Addition37       </p>38       <p>39        <code class="literal">2 + 3</code>40        → <code class="returnvalue">5</code>41       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">42        <code class="literal">+</code> <em class="replaceable"><code>numeric_type</code></em>43        → <code class="returnvalue"><em class="replaceable"><code>numeric_type</code></em></code>44       </p>45       <p>46        Unary plus (no operation)47       </p>48       <p>49        <code class="literal">+ 3.5</code>50        → <code class="returnvalue">3.5</code>51       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">52        <em class="replaceable"><code>numeric_type</code></em> <code class="literal">-</code> <em class="replaceable"><code>numeric_type</code></em>53        → <code class="returnvalue"><em class="replaceable"><code>numeric_type</code></em></code>54       </p>55       <p>56        Subtraction57       </p>58       <p>59        <code class="literal">2 - 3</code>60        → <code class="returnvalue">-1</code>61       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">62        <code class="literal">-</code> <em class="replaceable"><code>numeric_type</code></em>63        → <code class="returnvalue"><em class="replaceable"><code>numeric_type</code></em></code>64       </p>65       <p>66        Negation67       </p>68       <p>69        <code class="literal">- (-4)</code>70        → <code class="returnvalue">4</code>71       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">72        <em class="replaceable"><code>numeric_type</code></em> <code class="literal">*</code> <em class="replaceable"><code>numeric_type</code></em>73        → <code class="returnvalue"><em class="replaceable"><code>numeric_type</code></em></code>74       </p>75       <p>76        Multiplication77       </p>78       <p>79        <code class="literal">2 * 3</code>80        → <code class="returnvalue">6</code>81       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">82        <em class="replaceable"><code>numeric_type</code></em> <code class="literal">/</code> <em class="replaceable"><code>numeric_type</code></em>83        → <code class="returnvalue"><em class="replaceable"><code>numeric_type</code></em></code>84       </p>85       <p>86        Division (for integral types, division truncates the result towards87        zero)88       </p>89       <p>90        <code class="literal">5.0 / 2</code>91        → <code class="returnvalue">2.5000000000000000</code>92       </p>93       <p>94        <code class="literal">5 / 2</code>95        → <code class="returnvalue">2</code>96       </p>97       <p>98        <code class="literal">(-5) / 2</code>99        → <code class="returnvalue">-2</code>100       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">101        <em class="replaceable"><code>numeric_type</code></em> <code class="literal">%</code> <em class="replaceable"><code>numeric_type</code></em>102        → <code class="returnvalue"><em class="replaceable"><code>numeric_type</code></em></code>103       </p>104       <p>105        Modulo (remainder); available for <code class="type">smallint</code>,106        <code class="type">integer</code>, <code class="type">bigint</code>, and <code class="type">numeric</code>107       </p>108       <p>109        <code class="literal">5 % 4</code>110        → <code class="returnvalue">1</code>111       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">112        <code class="type">numeric</code> <code class="literal">^</code> <code class="type">numeric</code>113        → <code class="returnvalue">numeric</code>114       </p>115       <p class="func_signature">116        <code class="type">double precision</code> <code class="literal">^</code> <code class="type">double precision</code>117        → <code class="returnvalue">double precision</code>118       </p>119       <p>120        Exponentiation121       </p>122       <p>123        <code class="literal">2 ^ 3</code>124        → <code class="returnvalue">8</code>125       </p>126       <p>127        Unlike typical mathematical practice, multiple uses of128        <code class="literal">^</code> will associate left to right by default:129       </p>130       <p>131        <code class="literal">2 ^ 3 ^ 3</code>132        → <code class="returnvalue">512</code>133       </p>134       <p>135        <code class="literal">2 ^ (3 ^ 3)</code>136        → <code class="returnvalue">134217728</code>137       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">138        <code class="literal">|/</code> <code class="type">double precision</code>139        → <code class="returnvalue">double precision</code>140       </p>141       <p>142        Square root143       </p>144       <p>145        <code class="literal">|/ 25.0</code>146        → <code class="returnvalue">5</code>147       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">148        <code class="literal">||/</code> <code class="type">double precision</code>149        → <code class="returnvalue">double precision</code>150       </p>151       <p>152        Cube root153       </p>154       <p>155        <code class="literal">||/ 64.0</code>156        → <code class="returnvalue">4</code>157       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">158        <code class="literal">@</code> <em class="replaceable"><code>numeric_type</code></em>159        → <code class="returnvalue"><em class="replaceable"><code>numeric_type</code></em></code>160       </p>161       <p>162        Absolute value163       </p>164       <p>165        <code class="literal">@ -5.0</code>166        → <code class="returnvalue">5.0</code>167       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">168        <em class="replaceable"><code>integral_type</code></em> <code class="literal">&amp;</code> <em class="replaceable"><code>integral_type</code></em>169        → <code class="returnvalue"><em class="replaceable"><code>integral_type</code></em></code>170       </p>171       <p>172        Bitwise AND173       </p>174       <p>175        <code class="literal">91 &amp; 15</code>176        → <code class="returnvalue">11</code>177       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">178        <em class="replaceable"><code>integral_type</code></em> <code class="literal">|</code> <em class="replaceable"><code>integral_type</code></em>179        → <code class="returnvalue"><em class="replaceable"><code>integral_type</code></em></code>180       </p>181       <p>182        Bitwise OR183       </p>184       <p>185        <code class="literal">32 | 3</code>186        → <code class="returnvalue">35</code>187       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">188        <em class="replaceable"><code>integral_type</code></em> <code class="literal">#</code> <em class="replaceable"><code>integral_type</code></em>189        → <code class="returnvalue"><em class="replaceable"><code>integral_type</code></em></code>190       </p>191       <p>192        Bitwise exclusive OR193       </p>194       <p>195        <code class="literal">17 # 5</code>196        → <code class="returnvalue">20</code>197       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">198        <code class="literal">~</code> <em class="replaceable"><code>integral_type</code></em>199        → <code class="returnvalue"><em class="replaceable"><code>integral_type</code></em></code>200       </p>201       <p>202        Bitwise NOT203       </p>204       <p>205        <code class="literal">~1</code>206        → <code class="returnvalue">-2</code>207       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">208        <em class="replaceable"><code>integral_type</code></em> <code class="literal">&lt;&lt;</code> <code class="type">integer</code>209        → <code class="returnvalue"><em class="replaceable"><code>integral_type</code></em></code>210       </p>211       <p>212        Bitwise shift left213       </p>214       <p>215        <code class="literal">1 &lt;&lt; 4</code>216        → <code class="returnvalue">16</code>217       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">218        <em class="replaceable"><code>integral_type</code></em> <code class="literal">&gt;&gt;</code> <code class="type">integer</code>219        → <code class="returnvalue"><em class="replaceable"><code>integral_type</code></em></code>220       </p>221       <p>222        Bitwise shift right223       </p>224       <p>225        <code class="literal">8 &gt;&gt; 2</code>226        → <code class="returnvalue">2</code>227       </p></td></tr></tbody></table></div></div><br class="table-break" /><p>228   <a class="xref" href="functions-math.html#FUNCTIONS-MATH-FUNC-TABLE" title="Table 9.5. Mathematical Functions">Table 9.5</a> shows the available229   mathematical functions.230   Many of these functions are provided in multiple forms with different231   argument types.232   Except where noted, any given form of a function returns the same233   data type as its argument(s); cross-type cases are resolved in the234   same way as explained above for operators.235   The functions working with <code class="type">double precision</code> data are mostly236   implemented on top of the host system's C library; accuracy and behavior in237   boundary cases can therefore vary depending on the host system.238  </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 /></colgroup><thead><tr><th class="func_table_entry"><p class="func_signature">239        Function240       </p>241       <p>242        Description243       </p>244       <p>245        Example(s)246       </p></th></tr></thead><tbody><tr><td class="func_table_entry"><p class="func_signature">247        <a id="id-1.5.8.9.6.2.2.1.1.1.1" class="indexterm"></a>248        <code class="function">abs</code> ( <em class="replaceable"><code>numeric_type</code></em> )249        → <code class="returnvalue"><em class="replaceable"><code>numeric_type</code></em></code>250       </p>251       <p>252        Absolute value253       </p>254       <p>255        <code class="literal">abs(-17.4)</code>256        → <code class="returnvalue">17.4</code>257       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">258        <a id="id-1.5.8.9.6.2.2.2.1.1.1" class="indexterm"></a>259        <code class="function">cbrt</code> ( <code class="type">double precision</code> )260        → <code class="returnvalue">double precision</code>261       </p>262       <p>263        Cube root264       </p>265       <p>266        <code class="literal">cbrt(64.0)</code>267        → <code class="returnvalue">4</code>268       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">269        <a id="id-1.5.8.9.6.2.2.3.1.1.1" class="indexterm"></a>270        <code class="function">ceil</code> ( <code class="type">numeric</code> )271        → <code class="returnvalue">numeric</code>272       </p>273       <p class="func_signature">274        <code class="function">ceil</code> ( <code class="type">double precision</code> )275        → <code class="returnvalue">double precision</code>276       </p>277       <p>278        Nearest integer greater than or equal to argument279       </p>280       <p>281        <code class="literal">ceil(42.2)</code>282        → <code class="returnvalue">43</code>283       </p>284       <p>285        <code class="literal">ceil(-42.8)</code>286        → <code class="returnvalue">-42</code>287       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">288        <a id="id-1.5.8.9.6.2.2.4.1.1.1" class="indexterm"></a>289        <code class="function">ceiling</code> ( <code class="type">numeric</code> )290        → <code class="returnvalue">numeric</code>291       </p>292       <p class="func_signature">293        <code class="function">ceiling</code> ( <code class="type">double precision</code> )294        → <code class="returnvalue">double precision</code>295       </p>296       <p>297        Nearest integer greater than or equal to argument (same298        as <code class="function">ceil</code>)299       </p>300       <p>301        <code class="literal">ceiling(95.3)</code>302        → <code class="returnvalue">96</code>303       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">304        <a id="id-1.5.8.9.6.2.2.5.1.1.1" class="indexterm"></a>305        <code class="function">degrees</code> ( <code class="type">double precision</code> )306        → <code class="returnvalue">double precision</code>307       </p>308       <p>309        Converts radians to degrees310       </p>311       <p>312        <code class="literal">degrees(0.5)</code>313        → <code class="returnvalue">28.64788975654116</code>314       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">315        <a id="id-1.5.8.9.6.2.2.6.1.1.1" class="indexterm"></a>316        <code class="function">div</code> ( <em class="parameter"><code>y</code></em> <code class="type">numeric</code>,317        <em class="parameter"><code>x</code></em> <code class="type">numeric</code> )318        → <code class="returnvalue">numeric</code>319       </p>320       <p>321        Integer quotient of <em class="parameter"><code>y</code></em>/<em class="parameter"><code>x</code></em>322        (truncates towards zero)323       </p>324       <p>325        <code class="literal">div(9, 4)</code>326        → <code class="returnvalue">2</code>327       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">328        <a id="id-1.5.8.9.6.2.2.7.1.1.1" class="indexterm"></a>329        <code class="function">erf</code> ( <code class="type">double precision</code> )330        → <code class="returnvalue">double precision</code>331       </p>332       <p>333        Error function334       </p>335       <p>336        <code class="literal">erf(1.0)</code>337        → <code class="returnvalue">0.8427007929497149</code>338       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">339        <a id="id-1.5.8.9.6.2.2.8.1.1.1" class="indexterm"></a>340        <code class="function">erfc</code> ( <code class="type">double precision</code> )341        → <code class="returnvalue">double precision</code>342       </p>343       <p>344        Complementary error function (<code class="literal">1 - erf(x)</code>, without345        loss of precision for large inputs)346       </p>347       <p>348        <code class="literal">erfc(1.0)</code>349        → <code class="returnvalue">0.15729920705028513</code>350       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">351        <a id="id-1.5.8.9.6.2.2.9.1.1.1" class="indexterm"></a>352        <code class="function">exp</code> ( <code class="type">numeric</code> )353        → <code class="returnvalue">numeric</code>354       </p>355       <p class="func_signature">356        <code class="function">exp</code> ( <code class="type">double precision</code> )357        → <code class="returnvalue">double precision</code>358       </p>359       <p>360        Exponential (<code class="literal">e</code> raised to the given power)361       </p>362       <p>363        <code class="literal">exp(1.0)</code>364        → <code class="returnvalue">2.7182818284590452</code>365       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">366        <a id="FUNCTION-FACTORIAL" class="indexterm"></a>367        <code class="function">factorial</code> ( <code class="type">bigint</code> )368        → <code class="returnvalue">numeric</code>369       </p>370       <p>371        Factorial372       </p>373       <p>374        <code class="literal">factorial(5)</code>375        → <code class="returnvalue">120</code>376       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">377        <a id="id-1.5.8.9.6.2.2.11.1.1.1" class="indexterm"></a>378        <code class="function">floor</code> ( <code class="type">numeric</code> )379        → <code class="returnvalue">numeric</code>380       </p>381       <p class="func_signature">382        <code class="function">floor</code> ( <code class="type">double precision</code> )383        → <code class="returnvalue">double precision</code>384       </p>385       <p>386        Nearest integer less than or equal to argument387       </p>388       <p>389        <code class="literal">floor(42.8)</code>390        → <code class="returnvalue">42</code>391       </p>392       <p>393        <code class="literal">floor(-42.8)</code>394        → <code class="returnvalue">-43</code>395       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">396        <a id="id-1.5.8.9.6.2.2.12.1.1.1" class="indexterm"></a>397        <code class="function">gcd</code> ( <em class="replaceable"><code>numeric_type</code></em>, <em class="replaceable"><code>numeric_type</code></em> )398        → <code class="returnvalue"><em class="replaceable"><code>numeric_type</code></em></code>399       </p>400       <p>401        Greatest common divisor (the largest positive number that divides both402        inputs with no remainder); returns <code class="literal">0</code> if both inputs403        are zero; available for <code class="type">integer</code>, <code class="type">bigint</code>,404        and <code class="type">numeric</code>405       </p>406       <p>407        <code class="literal">gcd(1071, 462)</code>408        → <code class="returnvalue">21</code>409       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">410        <a id="id-1.5.8.9.6.2.2.13.1.1.1" class="indexterm"></a>411        <code class="function">lcm</code> ( <em class="replaceable"><code>numeric_type</code></em>, <em class="replaceable"><code>numeric_type</code></em> )412        → <code class="returnvalue"><em class="replaceable"><code>numeric_type</code></em></code>413       </p>414       <p>415        Least common multiple (the smallest strictly positive number that is416        an integral multiple of both inputs); returns <code class="literal">0</code> if417        either input is zero; available for <code class="type">integer</code>,418        <code class="type">bigint</code>, and <code class="type">numeric</code>419       </p>420       <p>421        <code class="literal">lcm(1071, 462)</code>422        → <code class="returnvalue">23562</code>423       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">424        <a id="id-1.5.8.9.6.2.2.14.1.1.1" class="indexterm"></a>425        <code class="function">ln</code> ( <code class="type">numeric</code> )426        → <code class="returnvalue">numeric</code>427       </p>428       <p class="func_signature">429        <code class="function">ln</code> ( <code class="type">double precision</code> )430        → <code class="returnvalue">double precision</code>431       </p>432       <p>433        Natural logarithm434       </p>435       <p>436        <code class="literal">ln(2.0)</code>437        → <code class="returnvalue">0.6931471805599453</code>438       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">439        <a id="id-1.5.8.9.6.2.2.15.1.1.1" class="indexterm"></a>440        <code class="function">log</code> ( <code class="type">numeric</code> )441        → <code class="returnvalue">numeric</code>442       </p>443       <p class="func_signature">444        <code class="function">log</code> ( <code class="type">double precision</code> )445        → <code class="returnvalue">double precision</code>446       </p>447       <p>448        Base 10 logarithm449       </p>450       <p>451        <code class="literal">log(100)</code>452        → <code class="returnvalue">2</code>453       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">454        <a id="id-1.5.8.9.6.2.2.16.1.1.1" class="indexterm"></a>455        <code class="function">log10</code> ( <code class="type">numeric</code> )456        → <code class="returnvalue">numeric</code>457       </p>458       <p class="func_signature">459        <code class="function">log10</code> ( <code class="type">double precision</code> )460        → <code class="returnvalue">double precision</code>461       </p>462       <p>463        Base 10 logarithm (same as <code class="function">log</code>)464       </p>465       <p>466        <code class="literal">log10(1000)</code>467        → <code class="returnvalue">3</code>468       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">469        <code class="function">log</code> ( <em class="parameter"><code>b</code></em> <code class="type">numeric</code>,470        <em class="parameter"><code>x</code></em> <code class="type">numeric</code> )471        → <code class="returnvalue">numeric</code>472       </p>473       <p>474        Logarithm of <em class="parameter"><code>x</code></em> to base <em class="parameter"><code>b</code></em>475       </p>476       <p>477       <code class="literal">log(2.0, 64.0)</code>478       → <code class="returnvalue">6.0000000000000000</code>479       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">480        <a id="id-1.5.8.9.6.2.2.18.1.1.1" class="indexterm"></a>481        <code class="function">min_scale</code> ( <code class="type">numeric</code> )482        → <code class="returnvalue">integer</code>483       </p>484       <p>485        Minimum scale (number of fractional decimal digits) needed486        to represent the supplied value precisely487       </p>488       <p>489        <code class="literal">min_scale(8.4100)</code>490        → <code class="returnvalue">2</code>491       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">492        <a id="id-1.5.8.9.6.2.2.19.1.1.1" class="indexterm"></a>493        <code class="function">mod</code> ( <em class="parameter"><code>y</code></em> <em class="replaceable"><code>numeric_type</code></em>,494        <em class="parameter"><code>x</code></em> <em class="replaceable"><code>numeric_type</code></em> )495        → <code class="returnvalue"><em class="replaceable"><code>numeric_type</code></em></code>496       </p>497       <p>498        Remainder of <em class="parameter"><code>y</code></em>/<em class="parameter"><code>x</code></em>;499        available for <code class="type">smallint</code>, <code class="type">integer</code>,500        <code class="type">bigint</code>, and <code class="type">numeric</code>501       </p>502       <p>503        <code class="literal">mod(9, 4)</code>504        → <code class="returnvalue">1</code>505       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">506        <a id="id-1.5.8.9.6.2.2.20.1.1.1" class="indexterm"></a>507        <code class="function">pi</code> (  )508        → <code class="returnvalue">double precision</code>509       </p>510       <p>511        Approximate value of <span class="symbol_font">π</span>512       </p>513       <p>514        <code class="literal">pi()</code>515        → <code class="returnvalue">3.141592653589793</code>516       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">517        <a id="id-1.5.8.9.6.2.2.21.1.1.1" class="indexterm"></a>518        <code class="function">power</code> ( <em class="parameter"><code>a</code></em> <code class="type">numeric</code>,519        <em class="parameter"><code>b</code></em> <code class="type">numeric</code> )520        → <code class="returnvalue">numeric</code>521       </p>522       <p class="func_signature">523        <code class="function">power</code> ( <em class="parameter"><code>a</code></em> <code class="type">double precision</code>,524        <em class="parameter"><code>b</code></em> <code class="type">double precision</code> )525        → <code class="returnvalue">double precision</code>526       </p>527       <p>528        <em class="parameter"><code>a</code></em> raised to the power of <em class="parameter"><code>b</code></em>529       </p>530       <p>531        <code class="literal">power(9, 3)</code>532        → <code class="returnvalue">729</code>533       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">534        <a id="id-1.5.8.9.6.2.2.22.1.1.1" class="indexterm"></a>535        <code class="function">radians</code> ( <code class="type">double precision</code> )536        → <code class="returnvalue">double precision</code>537       </p>538       <p>539        Converts degrees to radians540       </p>541       <p>542        <code class="literal">radians(45.0)</code>543        → <code class="returnvalue">0.7853981633974483</code>544       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">545        <a id="id-1.5.8.9.6.2.2.23.1.1.1" class="indexterm"></a>546        <code class="function">round</code> ( <code class="type">numeric</code> )547        → <code class="returnvalue">numeric</code>548       </p>549       <p class="func_signature">550        <code class="function">round</code> ( <code class="type">double precision</code> )551        → <code class="returnvalue">double precision</code>552       </p>553       <p>554        Rounds to nearest integer.  For <code class="type">numeric</code>, ties are555        broken by rounding away from zero.  For <code class="type">double precision</code>,556        the tie-breaking behavior is platform dependent, but557        <span class="quote">“<span class="quote">round to nearest even</span>”</span> is the most common rule.558       </p>559       <p>560        <code class="literal">round(42.4)</code>561        → <code class="returnvalue">42</code>562       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">563        <code class="function">round</code> ( <em class="parameter"><code>v</code></em> <code class="type">numeric</code>, <em class="parameter"><code>s</code></em> <code class="type">integer</code> )564        → <code class="returnvalue">numeric</code>565       </p>566       <p>567        Rounds <em class="parameter"><code>v</code></em> to <em class="parameter"><code>s</code></em> decimal568        places.  Ties are broken by rounding away from zero.569       </p>570       <p>571        <code class="literal">round(42.4382, 2)</code>572        → <code class="returnvalue">42.44</code>573       </p>574       <p>575        <code class="literal">round(1234.56, -1)</code>576        → <code class="returnvalue">1230</code>577       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">578        <a id="id-1.5.8.9.6.2.2.25.1.1.1" class="indexterm"></a>579        <code class="function">scale</code> ( <code class="type">numeric</code> )580        → <code class="returnvalue">integer</code>581       </p>582       <p>583        Scale of the argument (the number of decimal digits in the fractional part)584       </p>585       <p>586        <code class="literal">scale(8.4100)</code>587        → <code class="returnvalue">4</code>588       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">589        <a id="id-1.5.8.9.6.2.2.26.1.1.1" class="indexterm"></a>590        <code class="function">sign</code> ( <code class="type">numeric</code> )591        → <code class="returnvalue">numeric</code>592       </p>593       <p class="func_signature">594        <code class="function">sign</code> ( <code class="type">double precision</code> )595        → <code class="returnvalue">double precision</code>596       </p>597       <p>598        Sign of the argument (-1, 0, or +1)599       </p>600       <p>601        <code class="literal">sign(-8.4)</code>602        → <code class="returnvalue">-1</code>603       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">604        <a id="id-1.5.8.9.6.2.2.27.1.1.1" class="indexterm"></a>605         <code class="function">sqrt</code> ( <code class="type">numeric</code> )606         → <code class="returnvalue">numeric</code>607       </p>608       <p class="func_signature">609         <code class="function">sqrt</code> ( <code class="type">double precision</code> )610         → <code class="returnvalue">double precision</code>611       </p>612       <p>613        Square root614       </p>615       <p>616        <code class="literal">sqrt(2)</code>617        → <code class="returnvalue">1.4142135623730951</code>618       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">619        <a id="id-1.5.8.9.6.2.2.28.1.1.1" class="indexterm"></a>620        <code class="function">trim_scale</code> ( <code class="type">numeric</code> )621        → <code class="returnvalue">numeric</code>622       </p>623       <p>624        Reduces the value's scale (number of fractional decimal digits) by625        removing trailing zeroes626       </p>627       <p>628        <code class="literal">trim_scale(8.4100)</code>629        → <code class="returnvalue">8.41</code>630       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">631        <a id="id-1.5.8.9.6.2.2.29.1.1.1" class="indexterm"></a>632        <code class="function">trunc</code> ( <code class="type">numeric</code> )633        → <code class="returnvalue">numeric</code>634       </p>635       <p class="func_signature">636        <code class="function">trunc</code> ( <code class="type">double precision</code> )637        → <code class="returnvalue">double precision</code>638       </p>639       <p>640        Truncates to integer (towards zero)641       </p>642       <p>643        <code class="literal">trunc(42.8)</code>644        → <code class="returnvalue">42</code>645       </p>646       <p>647        <code class="literal">trunc(-42.8)</code>648        → <code class="returnvalue">-42</code>649       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">650        <code class="function">trunc</code> ( <em class="parameter"><code>v</code></em> <code class="type">numeric</code>, <em class="parameter"><code>s</code></em> <code class="type">integer</code> )651       → <code class="returnvalue">numeric</code>652       </p>653       <p>654        Truncates <em class="parameter"><code>v</code></em> to <em class="parameter"><code>s</code></em>655        decimal places656       </p>657       <p>658        <code class="literal">trunc(42.4382, 2)</code>659        → <code class="returnvalue">42.43</code>660       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">661        <a id="id-1.5.8.9.6.2.2.31.1.1.1" class="indexterm"></a>662        <code class="function">width_bucket</code> ( <em class="parameter"><code>operand</code></em> <code class="type">numeric</code>, <em class="parameter"><code>low</code></em> <code class="type">numeric</code>, <em class="parameter"><code>high</code></em> <code class="type">numeric</code>, <em class="parameter"><code>count</code></em> <code class="type">integer</code> )663        → <code class="returnvalue">integer</code>664       </p>665       <p class="func_signature">666        <code class="function">width_bucket</code> ( <em class="parameter"><code>operand</code></em> <code class="type">double precision</code>, <em class="parameter"><code>low</code></em> <code class="type">double precision</code>, <em class="parameter"><code>high</code></em> <code class="type">double precision</code>, <em class="parameter"><code>count</code></em> <code class="type">integer</code> )667        → <code class="returnvalue">integer</code>668       </p>669       <p>670        Returns the number of the bucket in671        which <em class="parameter"><code>operand</code></em> falls in a histogram672        having <em class="parameter"><code>count</code></em> equal-width buckets spanning the673        range <em class="parameter"><code>low</code></em> to <em class="parameter"><code>high</code></em>.674        Returns <code class="literal">0</code>675        or <code class="literal"><em class="parameter"><code>count</code></em>+1</code> for an input676        outside that range.677       </p>678       <p>679        <code class="literal">width_bucket(5.35, 0.024, 10.06, 5)</code>680        → <code class="returnvalue">3</code>681       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">682        <code class="function">width_bucket</code> ( <em class="parameter"><code>operand</code></em> <code class="type">anycompatible</code>, <em class="parameter"><code>thresholds</code></em> <code class="type">anycompatiblearray</code> )683       → <code class="returnvalue">integer</code>684       </p>685       <p>686        Returns the number of the bucket in687        which <em class="parameter"><code>operand</code></em> falls given an array listing the688        lower bounds of the buckets.  Returns <code class="literal">0</code> for an689        input less than the first lower690        bound.  <em class="parameter"><code>operand</code></em> and the array elements can be691        of any type having standard comparison operators.692        The <em class="parameter"><code>thresholds</code></em> array <span class="emphasis"><em>must be693        sorted</em></span>, smallest first, or unexpected results will be694        obtained.695       </p>696       <p>697        <code class="literal">width_bucket(now(), array['yesterday', 'today', 'tomorrow']::timestamptz[])</code>698        → <code class="returnvalue">2</code>699       </p></td></tr></tbody></table></div></div><br class="table-break" /><p>700    <a class="xref" href="functions-math.html#FUNCTIONS-MATH-RANDOM-TABLE" title="Table 9.6. Random Functions">Table 9.6</a> shows functions for701    generating random numbers.702  </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 /></colgroup><thead><tr><th class="func_table_entry"><p class="func_signature">703        Function704       </p>705       <p>706        Description707       </p>708       <p>709        Example(s)710       </p></th></tr></thead><tbody><tr><td class="func_table_entry"><p class="func_signature">711        <a id="id-1.5.8.9.8.2.2.1.1.1.1" class="indexterm"></a>712        <code class="function">random</code> ( )713        → <code class="returnvalue">double precision</code>714       </p>715       <p>716        Returns a random value in the range 0.0 &lt;= x &lt; 1.0717       </p>718       <p>719        <code class="literal">random()</code>720        → <code class="returnvalue">0.897124072839091</code>721       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">722        <a id="id-1.5.8.9.8.2.2.2.1.1.1" class="indexterm"></a>723 724         <code class="function">random_normal</code> (725         [<span class="optional"> <em class="parameter"><code>mean</code></em> <code class="type">double precision</code>726         [<span class="optional">, <em class="parameter"><code>stddev</code></em> <code class="type">double precision</code> </span>]</span>] )727         → <code class="returnvalue">double precision</code>728       </p>729       <p>730        Returns a random value from the normal distribution with the given731        parameters; <em class="parameter"><code>mean</code></em> defaults to 0.0732        and <em class="parameter"><code>stddev</code></em> defaults to 1.0733       </p>734       <p>735        <code class="literal">random_normal(0.0, 1.0)</code>736        → <code class="returnvalue">0.051285419</code>737       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">738        <a id="id-1.5.8.9.8.2.2.3.1.1.1" class="indexterm"></a>739        <code class="function">setseed</code> ( <code class="type">double precision</code> )740        → <code class="returnvalue">void</code>741       </p>742       <p>743        Sets the seed for subsequent <code class="literal">random()</code> and744        <code class="literal">random_normal()</code> calls;745        argument must be between -1.0 and 1.0, inclusive746       </p>747       <p>748        <code class="literal">setseed(0.12345)</code>749       </p></td></tr></tbody></table></div></div><br class="table-break" /><p>750   The <code class="function">random()</code> function uses a deterministic751   pseudo-random number generator.752   It is fast but not suitable for cryptographic753   applications; see the <a class="xref" href="pgcrypto.html" title="F.28. pgcrypto — cryptographic functions">pgcrypto</a> module for a more754   secure alternative.755   If <code class="function">setseed()</code> is called, the series of results of756   subsequent <code class="function">random()</code> calls in the current session757   can be repeated by re-issuing <code class="function">setseed()</code> with the same758   argument.759   Without any prior <code class="function">setseed()</code> call in the same760   session, the first <code class="function">random()</code> call obtains a seed761   from a platform-dependent source of random bits.762   These remarks hold equally for <code class="function">random_normal()</code>.763  </p><p>764   <a class="xref" href="functions-math.html#FUNCTIONS-MATH-TRIG-TABLE" title="Table 9.7. Trigonometric Functions">Table 9.7</a> shows the765   available trigonometric functions.  Each of these functions comes in766   two variants, one that measures angles in radians and one that767   measures angles in degrees.768  </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 /></colgroup><thead><tr><th class="func_table_entry"><p class="func_signature">769        Function770       </p>771       <p>772        Description773       </p>774       <p>775        Example(s)776       </p></th></tr></thead><tbody><tr><td class="func_table_entry"><p class="func_signature">777        <a id="id-1.5.8.9.11.2.2.1.1.1.1" class="indexterm"></a>778        <code class="function">acos</code> ( <code class="type">double precision</code> )779        → <code class="returnvalue">double precision</code>780       </p>781       <p>782        Inverse cosine, result in radians783       </p>784       <p>785        <code class="literal">acos(1)</code>786        → <code class="returnvalue">0</code>787       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">788        <a id="id-1.5.8.9.11.2.2.2.1.1.1" class="indexterm"></a>789        <code class="function">acosd</code> ( <code class="type">double precision</code> )790        → <code class="returnvalue">double precision</code>791       </p>792       <p>793        Inverse cosine, result in degrees794       </p>795       <p>796        <code class="literal">acosd(0.5)</code>797        → <code class="returnvalue">60</code>798       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">799        <a id="id-1.5.8.9.11.2.2.3.1.1.1" class="indexterm"></a>800        <code class="function">asin</code> ( <code class="type">double precision</code> )801        → <code class="returnvalue">double precision</code>802       </p>803       <p>804        Inverse sine, result in radians805       </p>806       <p>807        <code class="literal">asin(1)</code>808        → <code class="returnvalue">1.5707963267948966</code>809       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">810        <a id="id-1.5.8.9.11.2.2.4.1.1.1" class="indexterm"></a>811        <code class="function">asind</code> ( <code class="type">double precision</code> )812        → <code class="returnvalue">double precision</code>813       </p>814       <p>815        Inverse sine, result in degrees816       </p>817       <p>818        <code class="literal">asind(0.5)</code>819        → <code class="returnvalue">30</code>820       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">821        <a id="id-1.5.8.9.11.2.2.5.1.1.1" class="indexterm"></a>822        <code class="function">atan</code> ( <code class="type">double precision</code> )823        → <code class="returnvalue">double precision</code>824       </p>825       <p>826        Inverse tangent, result in radians827       </p>828       <p>829        <code class="literal">atan(1)</code>830        → <code class="returnvalue">0.7853981633974483</code>831       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">832        <a id="id-1.5.8.9.11.2.2.6.1.1.1" class="indexterm"></a>833        <code class="function">atand</code> ( <code class="type">double precision</code> )834        → <code class="returnvalue">double precision</code>835       </p>836       <p>837        Inverse tangent, result in degrees838       </p>839       <p>840        <code class="literal">atand(1)</code>841        → <code class="returnvalue">45</code>842       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">843        <a id="id-1.5.8.9.11.2.2.7.1.1.1" class="indexterm"></a>844        <code class="function">atan2</code> ( <em class="parameter"><code>y</code></em> <code class="type">double precision</code>,845        <em class="parameter"><code>x</code></em> <code class="type">double precision</code> )846        → <code class="returnvalue">double precision</code>847       </p>848       <p>849        Inverse tangent of850        <em class="parameter"><code>y</code></em>/<em class="parameter"><code>x</code></em>,851        result in radians852       </p>853       <p>854        <code class="literal">atan2(1, 0)</code>855        → <code class="returnvalue">1.5707963267948966</code>856       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">857        <a id="id-1.5.8.9.11.2.2.8.1.1.1" class="indexterm"></a>858        <code class="function">atan2d</code> ( <em class="parameter"><code>y</code></em> <code class="type">double precision</code>,859        <em class="parameter"><code>x</code></em> <code class="type">double precision</code> )860        → <code class="returnvalue">double precision</code>861       </p>862       <p>863        Inverse tangent of864        <em class="parameter"><code>y</code></em>/<em class="parameter"><code>x</code></em>,865        result in degrees866       </p>867       <p>868        <code class="literal">atan2d(1, 0)</code>869        → <code class="returnvalue">90</code>870       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">871        <a id="id-1.5.8.9.11.2.2.9.1.1.1" class="indexterm"></a>872        <code class="function">cos</code> ( <code class="type">double precision</code> )873        → <code class="returnvalue">double precision</code>874       </p>875       <p>876        Cosine, argument in radians877       </p>878       <p>879        <code class="literal">cos(0)</code>880        → <code class="returnvalue">1</code>881       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">882        <a id="id-1.5.8.9.11.2.2.10.1.1.1" class="indexterm"></a>883        <code class="function">cosd</code> ( <code class="type">double precision</code> )884        → <code class="returnvalue">double precision</code>885       </p>886       <p>887        Cosine, argument in degrees888       </p>889       <p>890        <code class="literal">cosd(60)</code>891        → <code class="returnvalue">0.5</code>892       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">893        <a id="id-1.5.8.9.11.2.2.11.1.1.1" class="indexterm"></a>894        <code class="function">cot</code> ( <code class="type">double precision</code> )895        → <code class="returnvalue">double precision</code>896       </p>897       <p>898        Cotangent, argument in radians899       </p>900       <p>901        <code class="literal">cot(0.5)</code>902        → <code class="returnvalue">1.830487721712452</code>903       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">904        <a id="id-1.5.8.9.11.2.2.12.1.1.1" class="indexterm"></a>905        <code class="function">cotd</code> ( <code class="type">double precision</code> )906        → <code class="returnvalue">double precision</code>907       </p>908       <p>909        Cotangent, argument in degrees910       </p>911       <p>912        <code class="literal">cotd(45)</code>913        → <code class="returnvalue">1</code>914       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">915        <a id="id-1.5.8.9.11.2.2.13.1.1.1" class="indexterm"></a>916        <code class="function">sin</code> ( <code class="type">double precision</code> )917        → <code class="returnvalue">double precision</code>918       </p>919       <p>920        Sine, argument in radians921       </p>922       <p>923        <code class="literal">sin(1)</code>924        → <code class="returnvalue">0.8414709848078965</code>925       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">926        <a id="id-1.5.8.9.11.2.2.14.1.1.1" class="indexterm"></a>927        <code class="function">sind</code> ( <code class="type">double precision</code> )928        → <code class="returnvalue">double precision</code>929       </p>930       <p>931        Sine, argument in degrees932       </p>933       <p>934        <code class="literal">sind(30)</code>935        → <code class="returnvalue">0.5</code>936       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">937        <a id="id-1.5.8.9.11.2.2.15.1.1.1" class="indexterm"></a>938        <code class="function">tan</code> ( <code class="type">double precision</code> )939        → <code class="returnvalue">double precision</code>940       </p>941       <p>942        Tangent, argument in radians943       </p>944       <p>945        <code class="literal">tan(1)</code>946        → <code class="returnvalue">1.5574077246549023</code>947       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">948        <a id="id-1.5.8.9.11.2.2.16.1.1.1" class="indexterm"></a>949        <code class="function">tand</code> ( <code class="type">double precision</code> )950        → <code class="returnvalue">double precision</code>951       </p>952       <p>953        Tangent, argument in degrees954       </p>955       <p>956        <code class="literal">tand(45)</code>957        → <code class="returnvalue">1</code>958       </p></td></tr></tbody></table></div></div><br class="table-break" /><div class="note"><h3 class="title">Note</h3><p>959    Another way to work with angles measured in degrees is to use the unit960    transformation functions <code class="literal"><code class="function">radians()</code></code>961    and <code class="literal"><code class="function">degrees()</code></code> shown earlier.962    However, using the degree-based trigonometric functions is preferred,963    as that way avoids round-off error for special cases such964    as <code class="literal">sind(30)</code>.965   </p></div><p>966   <a class="xref" href="functions-math.html#FUNCTIONS-MATH-HYP-TABLE" title="Table 9.8. Hyperbolic Functions">Table 9.8</a> shows the967   available hyperbolic functions.968  </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 /></colgroup><thead><tr><th class="func_table_entry"><p class="func_signature">969        Function970       </p>971       <p>972        Description973       </p>974       <p>975        Example(s)976       </p></th></tr></thead><tbody><tr><td class="func_table_entry"><p class="func_signature">977        <a id="id-1.5.8.9.14.2.2.1.1.1.1" class="indexterm"></a>978        <code class="function">sinh</code> ( <code class="type">double precision</code> )979        → <code class="returnvalue">double precision</code>980       </p>981       <p>982        Hyperbolic sine983       </p>984       <p>985        <code class="literal">sinh(1)</code>986        → <code class="returnvalue">1.1752011936438014</code>987       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">988        <a id="id-1.5.8.9.14.2.2.2.1.1.1" class="indexterm"></a>989        <code class="function">cosh</code> ( <code class="type">double precision</code> )990        → <code class="returnvalue">double precision</code>991       </p>992       <p>993        Hyperbolic cosine994       </p>995       <p>996        <code class="literal">cosh(0)</code>997        → <code class="returnvalue">1</code>998       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">999        <a id="id-1.5.8.9.14.2.2.3.1.1.1" class="indexterm"></a>1000        <code class="function">tanh</code> ( <code class="type">double precision</code> )1001        → <code class="returnvalue">double precision</code>1002       </p>1003       <p>1004        Hyperbolic tangent1005       </p>1006       <p>1007        <code class="literal">tanh(1)</code>1008        → <code class="returnvalue">0.7615941559557649</code>1009       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">1010        <a id="id-1.5.8.9.14.2.2.4.1.1.1" class="indexterm"></a>1011        <code class="function">asinh</code> ( <code class="type">double precision</code> )1012        → <code class="returnvalue">double precision</code>1013       </p>1014       <p>1015        Inverse hyperbolic sine1016       </p>1017       <p>1018        <code class="literal">asinh(1)</code>1019        → <code class="returnvalue">0.881373587019543</code>1020       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">1021        <a id="id-1.5.8.9.14.2.2.5.1.1.1" class="indexterm"></a>1022        <code class="function">acosh</code> ( <code class="type">double precision</code> )1023        → <code class="returnvalue">double precision</code>1024       </p>1025       <p>1026        Inverse hyperbolic cosine1027       </p>1028       <p>1029        <code class="literal">acosh(1)</code>1030        → <code class="returnvalue">0</code>1031       </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">1032        <a id="id-1.5.8.9.14.2.2.6.1.1.1" class="indexterm"></a>1033        <code class="function">atanh</code> ( <code class="type">double precision</code> )1034        → <code class="returnvalue">double precision</code>1035       </p>1036       <p>1037        Inverse hyperbolic tangent1038       </p>1039       <p>1040        <code class="literal">atanh(0.5)</code>1041        → <code class="returnvalue">0.5493061443340548</code>1042       </p></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" title="9.2. Comparison Functions and Operators">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="functions.html" title="Chapter 9. Functions and Operators">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="functions-string.html" title="9.4. String Functions and Operators">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" title="PostgreSQL 16.3 Documentation">Home</a></td><td width="40%" align="right" valign="top"> 9.4. String Functions and Operators</td></tr></table></div></body></html>
codekingpro/portable-devtools · Team Ai