Documentation PostgreSQL 7.4.29 | ||||
---|---|---|---|---|
Précédent | Arrière rapide | Chapitre 9. Fonctions et opérateurs | Avance rapide | Suivant |
Des opérateurs mathématiques sont fournis pour beaucoup de types PostgreSQL. Pour les types sans conventions mathématiques communes pour toutes les permutations possibles (c'est-à-dire les types dates/time), nous décrivons le comportement actuel dans les sections ci-dessous.
Tableau 9-2 affiche les opérateurs mathématiques disponibles.
Tableau 9-2. Opérateurs mathématiques
Opérateur | Description | Exemple | Résultat |
---|---|---|---|
+ | addition | 2 + 3 | 5 |
- | soustraction | 2 - 3 | -1 |
* | multiplication | 2 * 3 | 6 |
/ | division (la division entière tronque les résultats) | 4 / 2 | 2 |
% | modulo (reste) | 5 % 4 | 1 |
^ | exponentiel | 2.0 ^ 3.0 | 8 |
|/ | racine carrée | |/ 25.0 | 5 |
||/ | racine cubique | ||/ 27.0 | 3 |
! | factoriel | 5 ! | 120 |
!! | factoriel (opérateur préfixe) | !! 5 | 120 |
@ | valeur absolue | @ -5.0 | 5 |
& | AND bit par bit | 91 & 15 | 11 |
| | OR bit par bit | 32 | 3 | 35 |
# | XOR bit par bit | 17 # 5 | 20 |
~ | NOT bit par bit | ~1 | -2 |
<< | décalage gauche | 1 << 4 | 16 |
>> | décalage droit | 8 >> 2 | 2 |
Les opérateurs bit à bit sont aussi disponibles pour les types de chaînes de bit bit et bit varying, comme l'indique Tableau 9-3. Les opérandes de chaînes de bits &, | et # doivent être de même longueur. Lors d'un décalage de bits, la longueur original de la chaîne est conservée, comme indiquée dans la table.
Tableau 9-3. Opérateurs bit à bit pour les chaînes de bit
Exemple | Résultat |
---|---|
B'10001' & B'01101' | 00001 |
B'10001' | B'01101' | 11101 |
B'10001' # B'01101' | 11100 |
~ B'10001' | 01110 |
B'10001' << 3 | 01000 |
B'10001' >> 2 | 00100 |
Tableau 9-4 affiche les fonctions mathématiques disponibles. Dans la table, dp signifie double precision. Beaucoup de ces fonctions sont fournies dans de nombreuses formes composées de types d'argument différents. Sauf lorsque c'est indiqué, toute forme donnée d'une fonction renvoie le même type de données que son argument. Les fonctions utilisant des données de type double precision sont pour la plupart implémentées avec la bibliothèque C du système hôte ; la précision et le comportement dans les cas particuliers peuvent varier suivant le système hôte.
Tableau 9-4. Fonctions mathématiques
Fonction | Type renvoyé | Description | Exemple | Résultat |
---|---|---|---|---|
abs (x) | (identique à x) | valeur absolue | abs(-17.4) | 17.4 |
cbrt (dp) | dp | racine cubique | cbrt(27.0) | 3 |
ceil (dp ou
numeric) | (identique à l'argument) | plus petit entier supérieur à l'argument | ceil(-42.8) | -42 |
degrees (dp) | dp | radians vers degrés | degrees(0.5) | 28.6478897565412 |
exp (dp ou
numeric) | (identique à l'argument) | exponentiel | exp(1.0) | 2.71828182845905 |
floor (dp ou
numeric) | (identique à l'argument) | plus grand entier inférieur à l'argument | floor(-42.8) | -43 |
ln (dp ou
numeric) | (identique à l'argument) | logarithme | ln(2.0) | 0.693147180559945 |
log (dp ou
numeric) | (identique à l'argument) | logarithme base 10 | log(100.0) | 2 |
log (b
numeric,
x numeric) | numeric | logarithme en base b | log(2.0, 64.0) | 6.0000000000 |
mod (y,
x) | (identiques aux types des arguments) | reste de y/x | mod(9,4) | 1 |
pi () | dp | constante << π >> | pi() | 3.14159265358979 |
pow (a
dp,
b dp) | dp | a élevé à la puissance b | pow(9.0, 3.0) | 729 |
pow (a
numeric,
b numeric) | numeric | a élevé à la puissance b | pow(9.0, 3.0) | 729 |
radians (dp) | dp | degrés vers radians | radians(45.0) | 0.785398163397448 |
random () | dp | valeur au hasard entre 0.0 et 1.0 | random() | |
round (dp ou
numeric) | (identique à l'argument) | arrondi à l'entier le plus proche | round(42.4) | 42 |
round (v
numeric, s
integer) | numeric | arrondi pour s décimales | round(42.4382, 2) | 42.44 |
setseed (dp) | int32 | initialise la recherche pour les appels à random() | setseed(0.54823) | 1177314959 |
sign (dp ou
numeric) | (identique à l'argument) | signe de l'argument (-1, 0, +1) | sign(-8.4) | -1 |
sqrt (dp ou
numeric) | (identique à l'argument) | racine carré | sqrt(2.0) | 1.4142135623731 |
trunc (dp ou
numeric) | (identique à l'argument) | tronque vers zéro | trunc(42.8) | 42 |
trunc (v
numeric, s
integer) | numeric | tronque sur s décimales | trunc(42.4382, 2) | 42.43 |
Enfin, Tableau 9-5 affiche les fonctions trigonométriques disponibles. Toutes les fonctions trigonométriques prennent des arguments et renvoient des valeurs de type double precision.
Précédent | Sommaire | Suivant |
Opérateurs de comparaison | Niveau supérieur | Fonctions et opérateurs de chaînes |