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 18.0 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 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.
9 <a class="xref" href="functions-math.html#FUNCTIONS-MATH-OP-TABLE" title="Table 9.4. Mathematical Operators">Table 9.4</a> shows the mathematical
10 operators that are available for the standard numeric types.
11 Unless otherwise noted, operators shown as
12 accepting <em class="replaceable"><code>numeric_type</code></em> are available for all
13 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 type
20 as its argument(s). Calls involving multiple argument data types, such
21 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">
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>
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>
46 Unary plus (no operation)
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>
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>
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>
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>
86 Division (for integral types, division truncates the result towards
90 <code class="literal">5.0 / 2</code>
91 → <code class="returnvalue">2.5000000000000000</code>
94 <code class="literal">5 / 2</code>
95 → <code class="returnvalue">2</code>
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>
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>
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>
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>
123 <code class="literal">2 ^ 3</code>
124 → <code class="returnvalue">8</code>
127 Unlike typical mathematical practice, multiple uses of
128 <code class="literal">^</code> will associate left to right by default:
131 <code class="literal">2 ^ 3 ^ 3</code>
132 → <code class="returnvalue">512</code>
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>
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>
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>
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">&</code> <em class="replaceable"><code>integral_type</code></em>
169 → <code class="returnvalue"><em class="replaceable"><code>integral_type</code></em></code>
175 <code class="literal">91 & 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>
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>
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>
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"><<</code> <code class="type">integer</code>
209 → <code class="returnvalue"><em class="replaceable"><code>integral_type</code></em></code>
215 <code class="literal">1 << 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">>></code> <code class="type">integer</code>
219 → <code class="returnvalue"><em class="replaceable"><code>integral_type</code></em></code>
225 <code class="literal">8 >> 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 available
229 mathematical functions.
230 Many of these functions are provided in multiple forms with different
232 Except where noted, any given form of a function returns the same
233 data type as its argument(s); cross-type cases are resolved in the
234 same way as explained above for operators.
235 The functions working with <code class="type">double precision</code> data are mostly
236 implemented on top of the host system's C library; accuracy and behavior in
237 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">
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>
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>
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>
273 <p class="func_signature">
274 <code class="function">ceil</code> ( <code class="type">double precision</code> )
275 → <code class="returnvalue">double precision</code>
278 Nearest integer greater than or equal to argument
281 <code class="literal">ceil(42.2)</code>
282 → <code class="returnvalue">43</code>
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>
292 <p class="func_signature">
293 <code class="function">ceiling</code> ( <code class="type">double precision</code> )
294 → <code class="returnvalue">double precision</code>
297 Nearest integer greater than or equal to argument (same
298 as <code class="function">ceil</code>)
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>
309 Converts radians to degrees
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>
321 Integer quotient of <em class="parameter"><code>y</code></em>/<em class="parameter"><code>x</code></em>
322 (truncates towards zero)
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>
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>
344 Complementary error function (<code class="literal">1 - erf(x)</code>, without
345 loss of precision for large inputs)
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>
355 <p class="func_signature">
356 <code class="function">exp</code> ( <code class="type">double precision</code> )
357 → <code class="returnvalue">double precision</code>
360 Exponential (<code class="literal">e</code> raised to the given power)
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>
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>
381 <p class="func_signature">
382 <code class="function">floor</code> ( <code class="type">double precision</code> )
383 → <code class="returnvalue">double precision</code>
386 Nearest integer less than or equal to argument
389 <code class="literal">floor(42.8)</code>
390 → <code class="returnvalue">42</code>
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">gamma</code> ( <code class="type">double precision</code> )
398 → <code class="returnvalue">double precision</code>
404 <code class="literal">gamma(0.5)</code>
405 → <code class="returnvalue">1.772453850905516</code>
408 <code class="literal">gamma(6)</code>
409 → <code class="returnvalue">120</code>
410 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
411 <a id="id-1.5.8.9.6.2.2.13.1.1.1" class="indexterm"></a>
412 <code class="function">gcd</code> ( <em class="replaceable"><code>numeric_type</code></em>, <em class="replaceable"><code>numeric_type</code></em> )
413 → <code class="returnvalue"><em class="replaceable"><code>numeric_type</code></em></code>
416 Greatest common divisor (the largest positive number that divides both
417 inputs with no remainder); returns <code class="literal">0</code> if both inputs
418 are zero; available for <code class="type">integer</code>, <code class="type">bigint</code>,
419 and <code class="type">numeric</code>
422 <code class="literal">gcd(1071, 462)</code>
423 → <code class="returnvalue">21</code>
424 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
425 <a id="id-1.5.8.9.6.2.2.14.1.1.1" class="indexterm"></a>
426 <code class="function">lcm</code> ( <em class="replaceable"><code>numeric_type</code></em>, <em class="replaceable"><code>numeric_type</code></em> )
427 → <code class="returnvalue"><em class="replaceable"><code>numeric_type</code></em></code>
430 Least common multiple (the smallest strictly positive number that is
431 an integral multiple of both inputs); returns <code class="literal">0</code> if
432 either input is zero; available for <code class="type">integer</code>,
433 <code class="type">bigint</code>, and <code class="type">numeric</code>
436 <code class="literal">lcm(1071, 462)</code>
437 → <code class="returnvalue">23562</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">lgamma</code> ( <code class="type">double precision</code> )
441 → <code class="returnvalue">double precision</code>
444 Natural logarithm of the absolute value of the gamma function
447 <code class="literal">lgamma(1000)</code>
448 → <code class="returnvalue">5905.220423209181</code>
449 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
450 <a id="id-1.5.8.9.6.2.2.16.1.1.1" class="indexterm"></a>
451 <code class="function">ln</code> ( <code class="type">numeric</code> )
452 → <code class="returnvalue">numeric</code>
454 <p class="func_signature">
455 <code class="function">ln</code> ( <code class="type">double precision</code> )
456 → <code class="returnvalue">double precision</code>
462 <code class="literal">ln(2.0)</code>
463 → <code class="returnvalue">0.6931471805599453</code>
464 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
465 <a id="id-1.5.8.9.6.2.2.17.1.1.1" class="indexterm"></a>
466 <code class="function">log</code> ( <code class="type">numeric</code> )
467 → <code class="returnvalue">numeric</code>
469 <p class="func_signature">
470 <code class="function">log</code> ( <code class="type">double precision</code> )
471 → <code class="returnvalue">double precision</code>
477 <code class="literal">log(100)</code>
478 → <code class="returnvalue">2</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">log10</code> ( <code class="type">numeric</code> )
482 → <code class="returnvalue">numeric</code>
484 <p class="func_signature">
485 <code class="function">log10</code> ( <code class="type">double precision</code> )
486 → <code class="returnvalue">double precision</code>
489 Base 10 logarithm (same as <code class="function">log</code>)
492 <code class="literal">log10(1000)</code>
493 → <code class="returnvalue">3</code>
494 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
495 <code class="function">log</code> ( <em class="parameter"><code>b</code></em> <code class="type">numeric</code>,
496 <em class="parameter"><code>x</code></em> <code class="type">numeric</code> )
497 → <code class="returnvalue">numeric</code>
500 Logarithm of <em class="parameter"><code>x</code></em> to base <em class="parameter"><code>b</code></em>
503 <code class="literal">log(2.0, 64.0)</code>
504 → <code class="returnvalue">6.0000000000000000</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">min_scale</code> ( <code class="type">numeric</code> )
508 → <code class="returnvalue">integer</code>
511 Minimum scale (number of fractional decimal digits) needed
512 to represent the supplied value precisely
515 <code class="literal">min_scale(8.4100)</code>
516 → <code class="returnvalue">2</code>
517 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
518 <a id="id-1.5.8.9.6.2.2.21.1.1.1" class="indexterm"></a>
519 <code class="function">mod</code> ( <em class="parameter"><code>y</code></em> <em class="replaceable"><code>numeric_type</code></em>,
520 <em class="parameter"><code>x</code></em> <em class="replaceable"><code>numeric_type</code></em> )
521 → <code class="returnvalue"><em class="replaceable"><code>numeric_type</code></em></code>
524 Remainder of <em class="parameter"><code>y</code></em>/<em class="parameter"><code>x</code></em>;
525 available for <code class="type">smallint</code>, <code class="type">integer</code>,
526 <code class="type">bigint</code>, and <code class="type">numeric</code>
529 <code class="literal">mod(9, 4)</code>
530 → <code class="returnvalue">1</code>
531 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
532 <a id="id-1.5.8.9.6.2.2.22.1.1.1" class="indexterm"></a>
533 <code class="function">pi</code> ( )
534 → <code class="returnvalue">double precision</code>
537 Approximate value of <span class="symbol_font">π</span>
540 <code class="literal">pi()</code>
541 → <code class="returnvalue">3.141592653589793</code>
542 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
543 <a id="id-1.5.8.9.6.2.2.23.1.1.1" class="indexterm"></a>
544 <code class="function">power</code> ( <em class="parameter"><code>a</code></em> <code class="type">numeric</code>,
545 <em class="parameter"><code>b</code></em> <code class="type">numeric</code> )
546 → <code class="returnvalue">numeric</code>
548 <p class="func_signature">
549 <code class="function">power</code> ( <em class="parameter"><code>a</code></em> <code class="type">double precision</code>,
550 <em class="parameter"><code>b</code></em> <code class="type">double precision</code> )
551 → <code class="returnvalue">double precision</code>
554 <em class="parameter"><code>a</code></em> raised to the power of <em class="parameter"><code>b</code></em>
557 <code class="literal">power(9, 3)</code>
558 → <code class="returnvalue">729</code>
559 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
560 <a id="id-1.5.8.9.6.2.2.24.1.1.1" class="indexterm"></a>
561 <code class="function">radians</code> ( <code class="type">double precision</code> )
562 → <code class="returnvalue">double precision</code>
565 Converts degrees to radians
568 <code class="literal">radians(45.0)</code>
569 → <code class="returnvalue">0.7853981633974483</code>
570 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
571 <a id="id-1.5.8.9.6.2.2.25.1.1.1" class="indexterm"></a>
572 <code class="function">round</code> ( <code class="type">numeric</code> )
573 → <code class="returnvalue">numeric</code>
575 <p class="func_signature">
576 <code class="function">round</code> ( <code class="type">double precision</code> )
577 → <code class="returnvalue">double precision</code>
580 Rounds to nearest integer. For <code class="type">numeric</code>, ties are
581 broken by rounding away from zero. For <code class="type">double precision</code>,
582 the tie-breaking behavior is platform dependent, but
583 <span class="quote">“<span class="quote">round to nearest even</span>”</span> is the most common rule.
586 <code class="literal">round(42.4)</code>
587 → <code class="returnvalue">42</code>
588 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
589 <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> )
590 → <code class="returnvalue">numeric</code>
593 Rounds <em class="parameter"><code>v</code></em> to <em class="parameter"><code>s</code></em> decimal
594 places. Ties are broken by rounding away from zero.
597 <code class="literal">round(42.4382, 2)</code>
598 → <code class="returnvalue">42.44</code>
601 <code class="literal">round(1234.56, -1)</code>
602 → <code class="returnvalue">1230</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">scale</code> ( <code class="type">numeric</code> )
606 → <code class="returnvalue">integer</code>
609 Scale of the argument (the number of decimal digits in the fractional part)
612 <code class="literal">scale(8.4100)</code>
613 → <code class="returnvalue">4</code>
614 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
615 <a id="id-1.5.8.9.6.2.2.28.1.1.1" class="indexterm"></a>
616 <code class="function">sign</code> ( <code class="type">numeric</code> )
617 → <code class="returnvalue">numeric</code>
619 <p class="func_signature">
620 <code class="function">sign</code> ( <code class="type">double precision</code> )
621 → <code class="returnvalue">double precision</code>
624 Sign of the argument (-1, 0, or +1)
627 <code class="literal">sign(-8.4)</code>
628 → <code class="returnvalue">-1</code>
629 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
630 <a id="id-1.5.8.9.6.2.2.29.1.1.1" class="indexterm"></a>
631 <code class="function">sqrt</code> ( <code class="type">numeric</code> )
632 → <code class="returnvalue">numeric</code>
634 <p class="func_signature">
635 <code class="function">sqrt</code> ( <code class="type">double precision</code> )
636 → <code class="returnvalue">double precision</code>
642 <code class="literal">sqrt(2)</code>
643 → <code class="returnvalue">1.4142135623730951</code>
644 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
645 <a id="id-1.5.8.9.6.2.2.30.1.1.1" class="indexterm"></a>
646 <code class="function">trim_scale</code> ( <code class="type">numeric</code> )
647 → <code class="returnvalue">numeric</code>
650 Reduces the value's scale (number of fractional decimal digits) by
651 removing trailing zeroes
654 <code class="literal">trim_scale(8.4100)</code>
655 → <code class="returnvalue">8.41</code>
656 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
657 <a id="id-1.5.8.9.6.2.2.31.1.1.1" class="indexterm"></a>
658 <code class="function">trunc</code> ( <code class="type">numeric</code> )
659 → <code class="returnvalue">numeric</code>
661 <p class="func_signature">
662 <code class="function">trunc</code> ( <code class="type">double precision</code> )
663 → <code class="returnvalue">double precision</code>
666 Truncates to integer (towards zero)
669 <code class="literal">trunc(42.8)</code>
670 → <code class="returnvalue">42</code>
673 <code class="literal">trunc(-42.8)</code>
674 → <code class="returnvalue">-42</code>
675 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
676 <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> )
677 → <code class="returnvalue">numeric</code>
680 Truncates <em class="parameter"><code>v</code></em> to <em class="parameter"><code>s</code></em>
684 <code class="literal">trunc(42.4382, 2)</code>
685 → <code class="returnvalue">42.43</code>
686 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
687 <a id="id-1.5.8.9.6.2.2.33.1.1.1" class="indexterm"></a>
688 <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> )
689 → <code class="returnvalue">integer</code>
691 <p class="func_signature">
692 <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> )
693 → <code class="returnvalue">integer</code>
696 Returns the number of the bucket in
697 which <em class="parameter"><code>operand</code></em> falls in a histogram
698 having <em class="parameter"><code>count</code></em> equal-width buckets spanning the
699 range <em class="parameter"><code>low</code></em> to <em class="parameter"><code>high</code></em>.
700 The buckets have inclusive lower bounds and exclusive upper bounds.
701 Returns <code class="literal">0</code> for an input less
702 than <em class="parameter"><code>low</code></em>,
703 or <code class="literal"><em class="parameter"><code>count</code></em>+1</code> for an input
704 greater than or equal to <em class="parameter"><code>high</code></em>.
705 If <em class="parameter"><code>low</code></em> > <em class="parameter"><code>high</code></em>,
706 the behavior is mirror-reversed, with bucket <code class="literal">1</code>
707 now being the one just below <em class="parameter"><code>low</code></em>, and the
708 inclusive bounds now being on the upper side.
711 <code class="literal">width_bucket(5.35, 0.024, 10.06, 5)</code>
712 → <code class="returnvalue">3</code>
715 <code class="literal">width_bucket(9, 10, 0, 10)</code>
716 → <code class="returnvalue">2</code>
717 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
718 <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> )
719 → <code class="returnvalue">integer</code>
722 Returns the number of the bucket in
723 which <em class="parameter"><code>operand</code></em> falls given an array listing the
724 inclusive lower bounds of the buckets.
725 Returns <code class="literal">0</code> for an input less than the first lower
726 bound. <em class="parameter"><code>operand</code></em> and the array elements can be
727 of any type having standard comparison operators.
728 The <em class="parameter"><code>thresholds</code></em> array <span class="emphasis"><em>must be
729 sorted</em></span>, smallest first, or unexpected results will be
733 <code class="literal">width_bucket(now(), array['yesterday', 'today', 'tomorrow']::timestamptz[])</code>
734 → <code class="returnvalue">2</code>
735 </p></td></tr></tbody></table></div></div><br class="table-break" /><p>
736 <a class="xref" href="functions-math.html#FUNCTIONS-MATH-RANDOM-TABLE" title="Table 9.6. Random Functions">Table 9.6</a> shows functions for
737 generating random numbers.
738 </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">
746 </p></th></tr></thead><tbody><tr><td class="func_table_entry"><p class="func_signature">
747 <a id="id-1.5.8.9.8.2.2.1.1.1.1" class="indexterm"></a>
748 <code class="function">random</code> ( )
749 → <code class="returnvalue">double precision</code>
752 Returns a random value in the range 0.0 <= x < 1.0
755 <code class="literal">random()</code>
756 → <code class="returnvalue">0.897124072839091</code>
757 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
758 <a id="id-1.5.8.9.8.2.2.2.1.1.1" class="indexterm"></a>
759 <code class="function">random</code> ( <em class="parameter"><code>min</code></em> <code class="type">integer</code>, <em class="parameter"><code>max</code></em> <code class="type">integer</code> )
760 → <code class="returnvalue">integer</code>
762 <p class="func_signature">
763 <code class="function">random</code> ( <em class="parameter"><code>min</code></em> <code class="type">bigint</code>, <em class="parameter"><code>max</code></em> <code class="type">bigint</code> )
764 → <code class="returnvalue">bigint</code>
766 <p class="func_signature">
767 <code class="function">random</code> ( <em class="parameter"><code>min</code></em> <code class="type">numeric</code>, <em class="parameter"><code>max</code></em> <code class="type">numeric</code> )
768 → <code class="returnvalue">numeric</code>
771 Returns a random value in the range
772 <em class="parameter"><code>min</code></em> <= x <= <em class="parameter"><code>max</code></em>.
773 For type <code class="type">numeric</code>, the result will have the same number of
774 fractional decimal digits as <em class="parameter"><code>min</code></em> or
775 <em class="parameter"><code>max</code></em>, whichever has more.
778 <code class="literal">random(1, 10)</code>
779 → <code class="returnvalue">7</code>
782 <code class="literal">random(-0.499, 0.499)</code>
783 → <code class="returnvalue">0.347</code>
784 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
785 <a id="id-1.5.8.9.8.2.2.3.1.1.1" class="indexterm"></a>
787 <code class="function">random_normal</code> (
788 [<span class="optional"> <em class="parameter"><code>mean</code></em> <code class="type">double precision</code>
789 [<span class="optional">, <em class="parameter"><code>stddev</code></em> <code class="type">double precision</code> </span>]</span>] )
790 → <code class="returnvalue">double precision</code>
793 Returns a random value from the normal distribution with the given
794 parameters; <em class="parameter"><code>mean</code></em> defaults to 0.0
795 and <em class="parameter"><code>stddev</code></em> defaults to 1.0
798 <code class="literal">random_normal(0.0, 1.0)</code>
799 → <code class="returnvalue">0.051285419</code>
800 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
801 <a id="id-1.5.8.9.8.2.2.4.1.1.1" class="indexterm"></a>
802 <code class="function">setseed</code> ( <code class="type">double precision</code> )
803 → <code class="returnvalue">void</code>
806 Sets the seed for subsequent <code class="literal">random()</code> and
807 <code class="literal">random_normal()</code> calls;
808 argument must be between -1.0 and 1.0, inclusive
811 <code class="literal">setseed(0.12345)</code>
812 </p></td></tr></tbody></table></div></div><br class="table-break" /><p>
813 The <code class="function">random()</code> and <code class="function">random_normal()</code>
814 functions listed in <a class="xref" href="functions-math.html#FUNCTIONS-MATH-RANDOM-TABLE" title="Table 9.6. Random Functions">Table 9.6</a> use a
815 deterministic pseudo-random number generator.
816 It is fast but not suitable for cryptographic
817 applications; see the <a class="xref" href="pgcrypto.html" title="F.26. pgcrypto — cryptographic functions">pgcrypto</a> module for a more
819 If <code class="function">setseed()</code> is called, the series of results of
820 subsequent calls to these functions in the current session
821 can be repeated by re-issuing <code class="function">setseed()</code> with the same
823 Without any prior <code class="function">setseed()</code> call in the same
824 session, the first call to any of these functions obtains a seed
825 from a platform-dependent source of random bits.
827 <a class="xref" href="functions-math.html#FUNCTIONS-MATH-TRIG-TABLE" title="Table 9.7. Trigonometric Functions">Table 9.7</a> shows the
828 available trigonometric functions. Each of these functions comes in
829 two variants, one that measures angles in radians and one that
830 measures angles in degrees.
831 </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">
839 </p></th></tr></thead><tbody><tr><td class="func_table_entry"><p class="func_signature">
840 <a id="id-1.5.8.9.11.2.2.1.1.1.1" class="indexterm"></a>
841 <code class="function">acos</code> ( <code class="type">double precision</code> )
842 → <code class="returnvalue">double precision</code>
845 Inverse cosine, result in radians
848 <code class="literal">acos(1)</code>
849 → <code class="returnvalue">0</code>
850 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
851 <a id="id-1.5.8.9.11.2.2.2.1.1.1" class="indexterm"></a>
852 <code class="function">acosd</code> ( <code class="type">double precision</code> )
853 → <code class="returnvalue">double precision</code>
856 Inverse cosine, result in degrees
859 <code class="literal">acosd(0.5)</code>
860 → <code class="returnvalue">60</code>
861 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
862 <a id="id-1.5.8.9.11.2.2.3.1.1.1" class="indexterm"></a>
863 <code class="function">asin</code> ( <code class="type">double precision</code> )
864 → <code class="returnvalue">double precision</code>
867 Inverse sine, result in radians
870 <code class="literal">asin(1)</code>
871 → <code class="returnvalue">1.5707963267948966</code>
872 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
873 <a id="id-1.5.8.9.11.2.2.4.1.1.1" class="indexterm"></a>
874 <code class="function">asind</code> ( <code class="type">double precision</code> )
875 → <code class="returnvalue">double precision</code>
878 Inverse sine, result in degrees
881 <code class="literal">asind(0.5)</code>
882 → <code class="returnvalue">30</code>
883 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
884 <a id="id-1.5.8.9.11.2.2.5.1.1.1" class="indexterm"></a>
885 <code class="function">atan</code> ( <code class="type">double precision</code> )
886 → <code class="returnvalue">double precision</code>
889 Inverse tangent, result in radians
892 <code class="literal">atan(1)</code>
893 → <code class="returnvalue">0.7853981633974483</code>
894 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
895 <a id="id-1.5.8.9.11.2.2.6.1.1.1" class="indexterm"></a>
896 <code class="function">atand</code> ( <code class="type">double precision</code> )
897 → <code class="returnvalue">double precision</code>
900 Inverse tangent, result in degrees
903 <code class="literal">atand(1)</code>
904 → <code class="returnvalue">45</code>
905 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
906 <a id="id-1.5.8.9.11.2.2.7.1.1.1" class="indexterm"></a>
907 <code class="function">atan2</code> ( <em class="parameter"><code>y</code></em> <code class="type">double precision</code>,
908 <em class="parameter"><code>x</code></em> <code class="type">double precision</code> )
909 → <code class="returnvalue">double precision</code>
913 <em class="parameter"><code>y</code></em>/<em class="parameter"><code>x</code></em>,
917 <code class="literal">atan2(1, 0)</code>
918 → <code class="returnvalue">1.5707963267948966</code>
919 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
920 <a id="id-1.5.8.9.11.2.2.8.1.1.1" class="indexterm"></a>
921 <code class="function">atan2d</code> ( <em class="parameter"><code>y</code></em> <code class="type">double precision</code>,
922 <em class="parameter"><code>x</code></em> <code class="type">double precision</code> )
923 → <code class="returnvalue">double precision</code>
927 <em class="parameter"><code>y</code></em>/<em class="parameter"><code>x</code></em>,
931 <code class="literal">atan2d(1, 0)</code>
932 → <code class="returnvalue">90</code>
933 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
934 <a id="id-1.5.8.9.11.2.2.9.1.1.1" class="indexterm"></a>
935 <code class="function">cos</code> ( <code class="type">double precision</code> )
936 → <code class="returnvalue">double precision</code>
939 Cosine, argument in radians
942 <code class="literal">cos(0)</code>
943 → <code class="returnvalue">1</code>
944 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
945 <a id="id-1.5.8.9.11.2.2.10.1.1.1" class="indexterm"></a>
946 <code class="function">cosd</code> ( <code class="type">double precision</code> )
947 → <code class="returnvalue">double precision</code>
950 Cosine, argument in degrees
953 <code class="literal">cosd(60)</code>
954 → <code class="returnvalue">0.5</code>
955 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
956 <a id="id-1.5.8.9.11.2.2.11.1.1.1" class="indexterm"></a>
957 <code class="function">cot</code> ( <code class="type">double precision</code> )
958 → <code class="returnvalue">double precision</code>
961 Cotangent, argument in radians
964 <code class="literal">cot(0.5)</code>
965 → <code class="returnvalue">1.830487721712452</code>
966 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
967 <a id="id-1.5.8.9.11.2.2.12.1.1.1" class="indexterm"></a>
968 <code class="function">cotd</code> ( <code class="type">double precision</code> )
969 → <code class="returnvalue">double precision</code>
972 Cotangent, argument in degrees
975 <code class="literal">cotd(45)</code>
976 → <code class="returnvalue">1</code>
977 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
978 <a id="id-1.5.8.9.11.2.2.13.1.1.1" class="indexterm"></a>
979 <code class="function">sin</code> ( <code class="type">double precision</code> )
980 → <code class="returnvalue">double precision</code>
983 Sine, argument in radians
986 <code class="literal">sin(1)</code>
987 → <code class="returnvalue">0.8414709848078965</code>
988 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
989 <a id="id-1.5.8.9.11.2.2.14.1.1.1" class="indexterm"></a>
990 <code class="function">sind</code> ( <code class="type">double precision</code> )
991 → <code class="returnvalue">double precision</code>
994 Sine, argument in degrees
997 <code class="literal">sind(30)</code>
998 → <code class="returnvalue">0.5</code>
999 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
1000 <a id="id-1.5.8.9.11.2.2.15.1.1.1" class="indexterm"></a>
1001 <code class="function">tan</code> ( <code class="type">double precision</code> )
1002 → <code class="returnvalue">double precision</code>
1005 Tangent, argument in radians
1008 <code class="literal">tan(1)</code>
1009 → <code class="returnvalue">1.5574077246549023</code>
1010 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
1011 <a id="id-1.5.8.9.11.2.2.16.1.1.1" class="indexterm"></a>
1012 <code class="function">tand</code> ( <code class="type">double precision</code> )
1013 → <code class="returnvalue">double precision</code>
1016 Tangent, argument in degrees
1019 <code class="literal">tand(45)</code>
1020 → <code class="returnvalue">1</code>
1021 </p></td></tr></tbody></table></div></div><br class="table-break" /><div class="note"><h3 class="title">Note</h3><p>
1022 Another way to work with angles measured in degrees is to use the unit
1023 transformation functions <code class="literal"><code class="function">radians()</code></code>
1024 and <code class="literal"><code class="function">degrees()</code></code> shown earlier.
1025 However, using the degree-based trigonometric functions is preferred,
1026 as that way avoids round-off error for special cases such
1027 as <code class="literal">sind(30)</code>.
1029 <a class="xref" href="functions-math.html#FUNCTIONS-MATH-HYP-TABLE" title="Table 9.8. Hyperbolic Functions">Table 9.8</a> shows the
1030 available hyperbolic functions.
1031 </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">
1039 </p></th></tr></thead><tbody><tr><td class="func_table_entry"><p class="func_signature">
1040 <a id="id-1.5.8.9.14.2.2.1.1.1.1" class="indexterm"></a>
1041 <code class="function">sinh</code> ( <code class="type">double precision</code> )
1042 → <code class="returnvalue">double precision</code>
1048 <code class="literal">sinh(1)</code>
1049 → <code class="returnvalue">1.1752011936438014</code>
1050 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
1051 <a id="id-1.5.8.9.14.2.2.2.1.1.1" class="indexterm"></a>
1052 <code class="function">cosh</code> ( <code class="type">double precision</code> )
1053 → <code class="returnvalue">double precision</code>
1059 <code class="literal">cosh(0)</code>
1060 → <code class="returnvalue">1</code>
1061 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
1062 <a id="id-1.5.8.9.14.2.2.3.1.1.1" class="indexterm"></a>
1063 <code class="function">tanh</code> ( <code class="type">double precision</code> )
1064 → <code class="returnvalue">double precision</code>
1070 <code class="literal">tanh(1)</code>
1071 → <code class="returnvalue">0.7615941559557649</code>
1072 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
1073 <a id="id-1.5.8.9.14.2.2.4.1.1.1" class="indexterm"></a>
1074 <code class="function">asinh</code> ( <code class="type">double precision</code> )
1075 → <code class="returnvalue">double precision</code>
1078 Inverse hyperbolic sine
1081 <code class="literal">asinh(1)</code>
1082 → <code class="returnvalue">0.881373587019543</code>
1083 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
1084 <a id="id-1.5.8.9.14.2.2.5.1.1.1" class="indexterm"></a>
1085 <code class="function">acosh</code> ( <code class="type">double precision</code> )
1086 → <code class="returnvalue">double precision</code>
1089 Inverse hyperbolic cosine
1092 <code class="literal">acosh(1)</code>
1093 → <code class="returnvalue">0</code>
1094 </p></td></tr><tr><td class="func_table_entry"><p class="func_signature">
1095 <a id="id-1.5.8.9.14.2.2.6.1.1.1" class="indexterm"></a>
1096 <code class="function">atanh</code> ( <code class="type">double precision</code> )
1097 → <code class="returnvalue">double precision</code>
1100 Inverse hyperbolic tangent
1103 <code class="literal">atanh(0.5)</code>
1104 → <code class="returnvalue">0.5493061443340548</code>
1105 </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 18.0 Documentation">Home</a></td><td width="40%" align="right" valign="top"> 9.4. String Functions and Operators</td></tr></table></div></body></html>