Changeset 896
- Timestamp:
- 02/05/08 14:30:18 (1 year ago)
- Files:
-
- traduc/branches/bv82x/manuel/func.xml (modified) (576 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
traduc/branches/bv82x/manuel/func.xml
r872 r896 4 4 5 5 <chapter id="functions"> 6 <title>Fonctions et op ᅵrateurs</title>6 <title>Fonctions et opérateurs</title> 7 7 8 8 <indexterm zone="functions"> … … 11 11 12 12 <indexterm zone="functions"> 13 <primary>op ᅵrateur</primary>13 <primary>opérateur</primary> 14 14 </indexterm> 15 15 16 16 <para> 17 17 <productname>PostgreSQL</productname> fournit un grand nombre de fonctions 18 et d'op ᅵrateurs pour les types de donnᅵes intᅵgrᅵs. Les utilisateurs peuvent19 aussi d ᅵfinir leurs propres fonctions et opᅵrateurs comme dᅵcrit dans18 et d'opérateurs pour les types de données intégrés. Les utilisateurs peuvent 19 aussi définir leurs propres fonctions et opérateurs comme décrit dans 20 20 la <xref linkend="server-programming"/>. 21 21 </para> 22 22 <para> 23 23 Les commandes <command>\df</command> et 24 <command>\do</command> de <application>psql</application> sont utilis ᅵes24 <command>\do</command> de <application>psql</application> sont utilisées 25 25 pour afficher respectivement la liste des fonctions et des 26 op ᅵrateurs.26 opérateurs. 27 27 </para> 28 28 29 29 <para> 30 Lorsque l'on consid ᅵre la portabilitᅵ, il est important de savoir que la31 plupart des fonctions et op ᅵrateurs dᅵcrits dans ce chapitre, ᅵ l'exception des opᅵrateurs32 arithm ᅵtiques et logiques les plus triviaux et de quelques fonctions33 sp ᅵcifiquement indiquᅵes, ne font pas partie du standard34 <acronym>SQL</acronym>. Quelques fonctionnalit ᅵs ᅵtendues sont35 pr ᅵsentes dans d'autres systᅵmes de gestion de bases de donnᅵes36 <acronym>SQL</acronym> et dans la plupart des cas, ces fonctionnalit ᅵs sont37 compatibles et coh ᅵrentes ᅵde nombreuses implantations. Ce chapitre n'est38 pas exhaustif ; des fonctions suppl ᅵmentaires apparaissent dans les39 sections ad ᅵquates du manuel.30 Lorsque l'on considère la portabilité, il est important de savoir que la 31 plupart des fonctions et opérateurs décrits dans ce chapitre, à l'exception des opérateurs 32 arithmétiques et logiques les plus triviaux et de quelques fonctions 33 spécifiquement indiquées, ne font pas partie du standard 34 <acronym>SQL</acronym>. Quelques fonctionnalités étendues sont 35 présentes dans d'autres systèmes de gestion de bases de données 36 <acronym>SQL</acronym> et dans la plupart des cas, ces fonctionnalités sont 37 compatibles et cohérentes à de nombreuses implantations. Ce chapitre n'est 38 pas exhaustif ; des fonctions supplémentaires apparaissent dans les 39 sections adéquates du manuel. 40 40 </para> 41 41 42 42 43 43 <sect1 id="functions-logical"> 44 <title>Op ᅵrateurs logiques</title>44 <title>Opérateurs logiques</title> 45 45 46 46 <indexterm zone="functions-logical"> 47 <primary>op ᅵrateur</primary>47 <primary>opérateur</primary> 48 48 <secondary>logique</secondary> 49 49 </indexterm> 50 50 51 51 <indexterm> 52 <primary>bool ᅵen</primary>53 <secondary>op ᅵrateurs</secondary>54 <see>op ᅵrateurs, logique</see>55 </indexterm> 56 57 <para> 58 Op ᅵrateurs logiques habituels :52 <primary>booléen</primary> 53 <secondary>opérateurs</secondary> 54 <see>opérateurs, logique</see> 55 </indexterm> 56 57 <para> 58 Opérateurs logiques habituels : 59 59 60 60 <indexterm> 61 <primary>AND (op ᅵrateur)</primary>61 <primary>AND (opérateur)</primary> 62 62 </indexterm> 63 63 64 64 <indexterm> 65 <primary>OR (op ᅵrateur)</primary>65 <primary>OR (opérateur)</primary> 66 66 </indexterm> 67 67 68 68 <indexterm> 69 <primary>NOT (op ᅵrateur)</primary>69 <primary>NOT (opérateur)</primary> 70 70 </indexterm> 71 71 … … 79 79 80 80 <indexterm> 81 <primary>n ᅵgation</primary>81 <primary>négation</primary> 82 82 </indexterm> 83 83 … … 88 88 </simplelist> 89 89 90 <acronym>SQL</acronym> utilise une logique bool ᅵenne ᅵtrois valeurs dans91 laquelle la valeur NULL repr ᅵsente <quote>inconnu</quote>. Les tables de92 v ᅵritᅵ ᅵ considᅵrer sont les suivantes :90 <acronym>SQL</acronym> utilise une logique booléenne à trois valeurs dans 91 laquelle la valeur NULL représente <quote>inconnu</quote>. Les tables de 92 vérité à considérer sont les suivantes : 93 93 94 94 <informaltable> … … 181 181 182 182 <para> 183 Les op ᅵrateurs <literal>AND</literal> et <literal>OR</literal> sont184 commutatifs, c'est- ᅵ-dire que l'ᅵchange des opᅵrandes gauche et185 droit n'affecte pas le r ᅵsultat. Voir la <xref183 Les opérateurs <literal>AND</literal> et <literal>OR</literal> sont 184 commutatifs, c'est-à-dire que l'échange des opérandes gauche et 185 droit n'affecte pas le résultat. Voir la <xref 186 186 linkend="syntax-express-eval"/> pour plus d'informations sur l'ordre 187 d' ᅵvaluation des sous-expressions.187 d'évaluation des sous-expressions. 188 188 </para> 189 189 </sect1> 190 190 191 191 <sect1 id="functions-comparison"> 192 <title>Op ᅵrateurs de comparaison</title>192 <title>Opérateurs de comparaison</title> 193 193 194 194 <indexterm zone="functions-comparison"> 195 195 <primary>comparaison</primary> 196 <secondary>op ᅵrateurs</secondary>197 </indexterm> 198 199 <para> 200 Les op ᅵrateurs de comparaison habituels sont disponibles, comme l'indique196 <secondary>opérateurs</secondary> 197 </indexterm> 198 199 <para> 200 Les opérateurs de comparaison habituels sont disponibles, comme l'indique 201 201 le <xref linkend="functions-comparison-table"/>. 202 202 </para> 203 203 204 204 <table id="functions-comparison-table"> 205 <title>Op ᅵrateurs de comparaison</title>205 <title>Opérateurs de comparaison</title> 206 206 <tgroup cols="2"> 207 207 <thead> 208 208 <row> 209 <entry>Op ᅵrateur</entry>209 <entry>Opérateur</entry> 210 210 <entry>Description</entry> 211 211 </row> … … 215 215 <row> 216 216 <entry><literal><</literal> </entry> 217 <entry>inf ᅵrieur ᅵ</entry>217 <entry>inférieur à</entry> 218 218 </row> 219 219 220 220 <row> 221 221 <entry><literal>></literal> </entry> 222 <entry>sup ᅵrieur ᅵ</entry>222 <entry>supérieur à</entry> 223 223 </row> 224 224 225 225 <row> 226 226 <entry><literal><=</literal> </entry> 227 <entry>inf ᅵrieur ou ᅵgal ᅵ</entry>227 <entry>inférieur ou égal à</entry> 228 228 </row> 229 229 230 230 <row> 231 231 <entry><literal>>=</literal> </entry> 232 <entry>sup ᅵrieur ou ᅵgal ᅵ</entry>232 <entry>supérieur ou égal à</entry> 233 233 </row> 234 234 235 235 <row> 236 236 <entry><literal>=</literal> </entry> 237 <entry> ᅵgal ᅵ</entry>237 <entry>égal à</entry> 238 238 </row> 239 239 240 240 <row> 241 241 <entry><literal><></literal> ou <literal>!=</literal> </entry> 242 <entry>diff ᅵrent de</entry>242 <entry>différent de</entry> 243 243 </row> 244 244 </tbody> … … 248 248 <note> 249 249 <para> 250 L'op ᅵrateur <literal>!=</literal> est converti en250 L'opérateur <literal>!=</literal> est converti en 251 251 <literal><></literal> au moment de l'analyse. Il n'est pas possible 252 d'implanter des op ᅵrateurs <literal>!=</literal> et253 <literal><></literal> r ᅵalisant des opᅵrations diffᅵrentes.252 d'implanter des opérateurs <literal>!=</literal> et 253 <literal><></literal> réalisant des opérations différentes. 254 254 </para> 255 255 </note> 256 256 257 257 <para> 258 Les op ᅵrateurs de comparaison sont disponibles pour tous les types de259 donn ᅵes pour lesquels cela a du sens. Tous les opᅵrateurs de comparaison sont des260 op ᅵrateurs binaires renvoyant des valeurs du type <type>boolean</type> ;258 Les opérateurs de comparaison sont disponibles pour tous les types de 259 données pour lesquels cela a du sens. Tous les opérateurs de comparaison sont des 260 opérateurs binaires renvoyant des valeurs du type <type>boolean</type> ; 261 261 des expressions comme <literal>1 < 2 < 3</literal> ne sont pas valides 262 (car il n'existe pas d'op ᅵrateur <literal><</literal> de comparaison d'une263 valeur bool ᅵenne avec <literal>3</literal>).262 (car il n'existe pas d'opérateur <literal><</literal> de comparaison d'une 263 valeur booléenne avec <literal>3</literal>). 264 264 </para> 265 265 … … 269 269 <primary>between</primary> 270 270 </indexterm> 271 En plus des op ᅵrateurs de comparaison, on trouve la construction spᅵciale271 En plus des opérateurs de comparaison, on trouve la construction spéciale 272 272 <token>BETWEEN</token>. 273 273 <synopsis><replaceable>a</replaceable> BETWEEN <replaceable>x</replaceable> AND <replaceable>y</replaceable></synopsis> 274 est ᅵquivalent ᅵ274 est équivalent à 275 275 <synopsis><replaceable>a</replaceable> >= <replaceable>x</replaceable> AND <replaceable>a</replaceable> <= <replaceable>y</replaceable></synopsis> 276 De m ᅵme,276 De même, 277 277 <synopsis><replaceable>a</replaceable> NOT BETWEEN <replaceable>x</replaceable> AND <replaceable>y</replaceable></synopsis> 278 est ᅵquivalent ᅵ278 est équivalent à 279 279 <synopsis><replaceable>a</replaceable> < <replaceable>x</replaceable> OR <replaceable>a</replaceable> > <replaceable>y</replaceable></synopsis> 280 Il n'y a pas de diff ᅵrence entre les deux formes respectives si ce n'est281 les cycles <acronym>CPU</acronym> requis pour r ᅵ-ᅵcrire en interne la282 premi ᅵre sous la forme de la seconde.280 Il n'y a pas de différence entre les deux formes respectives si ce n'est 281 les cycles <acronym>CPU</acronym> requis pour ré-écrire en interne la 282 première sous la forme de la seconde. 283 283 <indexterm> 284 284 <primary>BETWEEN SYMMETRIC</primary> 285 285 </indexterm> 286 <token>BETWEEN SYMMETRIC</token> est identique ᅵ<literal>BETWEEN</literal> sauf qu'il287 n'est pas n ᅵcessaire que l'argument ᅵgauche de <literal>AND</literal> soit plus288 petit ou ᅵgal ᅵ l'argument ᅵ sa droite ; la bonne ᅵchelle de valeurs289 est d ᅵterminᅵe automatiquement.286 <token>BETWEEN SYMMETRIC</token> est identique à <literal>BETWEEN</literal> sauf qu'il 287 n'est pas nécessaire que l'argument à gauche de <literal>AND</literal> soit plus 288 petit ou égal à l'argument à sa droite ; la bonne échelle de valeurs 289 est déterminée automatiquement. 290 290 </para> 291 291 … … 303 303 <primary>NOTNULL</primary> 304 304 </indexterm> 305 Pour v ᅵrifier si une valeur est NULL ou non, on utilise les constructions305 Pour vérifier si une valeur est NULL ou non, on utilise les constructions 306 306 <synopsis><replaceable>expression</replaceable> IS NULL 307 307 <replaceable>expression</replaceable> IS NOT NULL</synopsis> 308 ou la construction ᅵquivalente, non standard,308 ou la construction équivalente, non standard, 309 309 <synopsis><replaceable>expression</replaceable> ISNULL 310 310 <replaceable>expression</replaceable> NOTNULL</synopsis> … … 313 313 314 314 <para> 315 On <emphasis>ne</emphasis> peut <emphasis>pas</emphasis> ᅵcrire315 On <emphasis>ne</emphasis> peut <emphasis>pas</emphasis> écrire 316 316 <literal><replaceable>expression</replaceable> = NULL</literal> 317 parce que <literal>NULL</literal> n'est pas <quote> ᅵgal ᅵ</quote>318 <literal>NULL</literal> (la valeur NULL repr ᅵsente une valeur inconnue319 et il est impossible de dire si deux valeurs inconnues sont ᅵgales). Ce317 parce que <literal>NULL</literal> n'est pas <quote>égal à</quote> 318 <literal>NULL</literal> (la valeur NULL représente une valeur inconnue 319 et il est impossible de dire si deux valeurs inconnues sont égales). Ce 320 320 comportement est conforme au standard SQL. 321 321 </para> … … 323 323 <tip> 324 324 <para> 325 Il se peut que des applications s'attendent ᅵvoir325 Il se peut que des applications s'attendent à voir 326 326 <literal><replaceable>expression</replaceable> = NULL</literal> 327 ᅵvaluᅵe ᅵ vrai (<foreignphrase>true</foreignphrase>) si <replaceable>expression</replaceable> s'ᅵvalue comme328 la valeur NULL. Il est chaudement recommand ᅵque ces applications329 soient modifi ᅵes pour se conformer au standard SQL. Nᅵanmoins, si cela330 n'est pas possible, le param ᅵtre de configuration <xref331 linkend="guc-transform-null-equals"/> peut ᅵtre utilisᅵ. S'il est activᅵ,327 évaluée à vrai (<foreignphrase>true</foreignphrase>) si <replaceable>expression</replaceable> s'évalue comme 328 la valeur NULL. Il est chaudement recommandé que ces applications 329 soient modifiées pour se conformer au standard SQL. Néanmoins, si cela 330 n'est pas possible, le paramètre de configuration <xref 331 linkend="guc-transform-null-equals"/> peut être utilisé. S'il est activé, 332 332 <productname>PostgreSQL</productname> convertit les clauses <literal>x = 333 NULL</literal> en <literal>x IS NULL</literal>. Tel ᅵtait le comportement par334 d ᅵfaut dans les versions 6.5 ᅵ7.1 de <productname>PostgreSQL</productname>.333 NULL</literal> en <literal>x IS NULL</literal>. Tel était le comportement par 334 défaut dans les versions 6.5 à 7.1 de <productname>PostgreSQL</productname>. 335 335 </para> 336 336 </tip> … … 339 339 <para> 340 340 Si l'<replaceable>expression</replaceable> est une valeur de ligne, alors 341 <literal>IS NULL</literal> est vrai quand l'expression m ᅵme de la ligne est341 <literal>IS NULL</literal> est vrai quand l'expression même de la ligne est 342 342 NULL ou quand tous les champs de la ligne sont NULL alors que 343 <literal>IS NOT NULL</literal> est vrai quand l'expression m ᅵme de la ligne est343 <literal>IS NOT NULL</literal> est vrai quand l'expression même de la ligne est 344 344 non NULL et que tous les champs de la ligne sont non NULL. 345 Cette d ᅵfinition, conforme au standard SQL, est un changement du346 comportement incoh ᅵrent des versions de <productname>PostgreSQL</productname>347 ant ᅵrieures ᅵla 8.2.345 Cette définition, conforme au standard SQL, est un changement du 346 comportement incohérent des versions de <productname>PostgreSQL</productname> 347 antérieures à la 8.2. 348 348 </para> 349 349 </note> … … 356 356 <primary>IS NOT DISTINCT FROM</primary> 357 357 </indexterm> 358 L'op ᅵrateur standard de comparaison renvoie NULL (ce qui signifie359 <quote>inconnu</quote>) si l'une des entr ᅵes est NULL. Une autre faᅵon358 L'opérateur standard de comparaison renvoie NULL (ce qui signifie 359 <quote>inconnu</quote>) si l'une des entrées est NULL. Une autre façon 360 360 d'effectuer les comparaisons utilise la syntaxe <literal>IS <optional>NOT</optional> DISTINCT FROM</literal> : 361 361 <synopsis> … … 363 363 <replaceable>expression</replaceable> IS NOT DISTINCT FROM <replaceable>expression</replaceable> 364 364 </synopsis> 365 Pour des entr ᅵes non NULL, <literal>IS DISTINCT FROM</literal> est366 identique ᅵ l'opᅵrateur <literal><></literal>. Cependant, si les deux entrᅵes367 sont NULL, alors cela retourne faux et si une des deux entr ᅵes est NULL,368 alors cela retourne vrai. De la m ᅵme faᅵon, <literal>IS NOT DISTINCT369 FROM</literal> est identique ᅵ <literal>=</literal> pour les entrᅵes non NULL370 mais il renvoie true si les deux entr ᅵes sont NULL et false quand une seule371 est NULL. Dans ces constructions, NULL n'est plus consid ᅵrᅵcomme372 un ᅵtat inconnu mais comme une valeur.365 Pour des entrées non NULL, <literal>IS DISTINCT FROM</literal> est 366 identique à l'opérateur <literal><></literal>. Cependant, si les deux entrées 367 sont NULL, alors cela retourne faux et si une des deux entrées est NULL, 368 alors cela retourne vrai. De la même façon, <literal>IS NOT DISTINCT 369 FROM</literal> est identique à <literal>=</literal> pour les entrées non NULL 370 mais il renvoie true si les deux entrées sont NULL et false quand une seule 371 est NULL. Dans ces constructions, NULL n'est plus considéré comme 372 un état inconnu mais comme une valeur. 373 373 </para> 374 374 … … 392 392 <primary>IS NOT UNKNOWN</primary> 393 393 </indexterm> 394 Les valeurs bool ᅵennes peuvent aussi ᅵtre testᅵes en utilisant les394 Les valeurs booléennes peuvent aussi être testées en utilisant les 395 395 constructions 396 396 <synopsis><replaceable>expression</replaceable> IS TRUE … … 400 400 <replaceable>expression</replaceable> IS UNKNOWN 401 401 <replaceable>expression</replaceable> IS NOT UNKNOWN</synopsis> 402 Elles retournent toujours true ou false, jamais une valeur NULL, m ᅵme si403 l'op ᅵrande est NULL. Une entrᅵe NULL est traitᅵe comme la valeur logique402 Elles retournent toujours true ou false, jamais une valeur NULL, même si 403 l'opérande est NULL. Une entrée NULL est traitée comme la valeur logique 404 404 <quote>inconnue</quote>. <literal>IS UNKNOWN</literal> et <literal>IS 405 NOT UNKNOWN</literal> sont r ᅵellement identiques ᅵ<literal>IS NULL</literal> et405 NOT UNKNOWN</literal> sont réellement identiques à <literal>IS NULL</literal> et 406 406 <literal>IS NOT NULL</literal>, respectivement, sauf que l'expression en 407 entr ᅵe doit ᅵtre de type boolᅵen.407 entrée doit être de type booléen. 408 408 </para> 409 409 </sect1> 410 410 411 411 <sect1 id="functions-math"> 412 <title>Fonctions et op ᅵrateurs mathᅵmatiques</title>413 414 <para> 415 Des op ᅵrateurs mathᅵmatiques sont fournis pour un grand nombre de types412 <title>Fonctions et opérateurs mathématiques</title> 413 414 <para> 415 Des opérateurs mathématiques sont fournis pour un grand nombre de types 416 416 <productname>PostgreSQL</productname>. Pour les types sans convention 417 math ᅵmatique commune ᅵtoutes les permutations possibles (les types418 dates/time, par exemple), le comportement r ᅵel est dᅵcrit dans les419 sections appropri ᅵes.420 </para> 421 422 <para> 423 Le <xref linkend="functions-math-op-table"/> affiche les op ᅵrateurs424 math ᅵmatiques disponibles.417 mathématique commune à toutes les permutations possibles (les types 418 dates/time, par exemple), le comportement réel est décrit dans les 419 sections appropriées. 420 </para> 421 422 <para> 423 Le <xref linkend="functions-math-op-table"/> affiche les opérateurs 424 mathématiques disponibles. 425 425 </para> 426 426 427 427 <table id="functions-math-op-table"> 428 <title>Op ᅵrateurs mathᅵmatiques</title>428 <title>Opérateurs mathématiques</title> 429 429 430 430 <tgroup cols="4"> … … 435 435 <thead> 436 436 <row> 437 <entry>Op ᅵrateur</entry>437 <entry>Opérateur</entry> 438 438 <entry>Description</entry> 439 439 <entry>Exemple</entry> 440 <entry>R ᅵsultat</entry>440 <entry>Résultat</entry> 441 441 </row> 442 442 </thead> … … 466 466 <row> 467 467 <entry><literal>/</literal> </entry> 468 <entry>division (la division enti ᅵre tronque les rᅵsultats)</entry>468 <entry>division (la division entière tronque les résultats)</entry> 469 469 <entry><literal>4 / 2</literal></entry> 470 470 <entry><literal>2</literal></entry> … … 487 487 <row> 488 488 <entry><literal>|/</literal> </entry> 489 <entry>racine carr ᅵe</entry>489 <entry>racine carrée</entry> 490 490 <entry><literal>|/ 25.0</literal></entry> 491 491 <entry><literal>5</literal></entry> … … 508 508 <row> 509 509 <entry><literal>!!</literal> </entry> 510 <entry>factoriel (op ᅵrateur prᅵfixe)</entry>510 <entry>factoriel (opérateur préfixe)</entry> 511 511 <entry><literal>!! 5</literal></entry> 512 512 <entry><literal>120</literal></entry> … … 522 522 <row> 523 523 <entry><literal>&</literal> </entry> 524 <entry>AND bit ᅵbit</entry>524 <entry>AND bit à bit</entry> 525 525 <entry><literal>91 & 15</literal></entry> 526 526 <entry><literal>11</literal></entry> … … 529 529 <row> 530 530 <entry><literal>|</literal> </entry> 531 <entry>OR bit ᅵbit</entry>531 <entry>OR bit à bit</entry> 532 532 <entry><literal>32 | 3</literal></entry> 533 533 <entry><literal>35</literal></entry> … … 536 536 <row> 537 537 <entry><literal>#</literal> </entry> 538 <entry>XOR bit ᅵbit</entry>538 <entry>XOR bit à bit</entry> 539 539 <entry><literal>17 # 5</literal></entry> 540 540 <entry><literal>20</literal></entry> … … 543 543 <row> 544 544 <entry><literal>~</literal> </entry> 545 <entry>NOT bit ᅵbit</entry>545 <entry>NOT bit à bit</entry> 546 546 <entry><literal>~1</literal></entry> 547 547 <entry><literal>-2</literal></entry> … … 550 550 <row> 551 551 <entry><literal><<</literal> </entry> 552 <entry>d ᅵcalage gauche</entry>552 <entry>décalage gauche</entry> 553 553 <entry><literal>1 << 4</literal></entry> 554 554 <entry><literal>16</literal></entry> … … 557 557 <row> 558 558 <entry><literal>>></literal> </entry> 559 <entry>d ᅵcalage droit</entry>559 <entry>décalage droit</entry> 560 560 <entry><literal>8 >> 2</literal></entry> 561 561 <entry><literal>2</literal></entry> … … 567 567 568 568 <para> 569 Les op ᅵrateurs bits ᅵ bits ne fonctionnent que sur les types de donnᅵes569 Les opérateurs bits à bits ne fonctionnent que sur les types de données 570 570 entiers alors que les autres sont disponibles pour tous les types de 571 donn ᅵes numᅵriques. Les opᅵrateurs bit par bit sont aussi disponibles pour572 les types de cha ᅵnes de bits <type>bit</type> et <type>bit varying</type>571 données numériques. Les opérateurs bit par bit sont aussi disponibles pour 572 les types de chaînes de bits <type>bit</type> et <type>bit varying</type> 573 573 comme le montre le <xref linkend="functions-bit-string-op-table"/>. 574 574 </para> … … 576 576 <para> 577 577 Le <xref linkend="functions-math-func-table"/> affiche les fonctions 578 math ᅵmatiques disponibles. Dans ce tableau, <literal>dp</literal>578 mathématiques disponibles. Dans ce tableau, <literal>dp</literal> 579 579 signifie <type>double precision</type>. Beaucoup de ces fonctions sont 580 fournies dans de nombreuses formes avec diff ᅵrents types d'argument.581 Sauf lorsque c'est indiqu ᅵ, toute forme donnᅵe d'une fonction renvoie le582 m ᅵme type de donnᅵes que son argument.583 Les fonctions utilisant des donn ᅵes de type <type>double584 precision</type> sont pour la plupart implant ᅵes avec la bibliothᅵque C du585 syst ᅵme hᅵte ; la prᅵcision et le comportement dans les cas586 particuliers peuvent varier en fonction du syst ᅵme hᅵte.580 fournies dans de nombreuses formes avec différents types d'argument. 581 Sauf lorsque c'est indiqué, toute forme donnée d'une fonction renvoie le 582 même type de données que son argument. 583 Les fonctions utilisant des données de type <type>double 584 precision</type> sont pour la plupart implantées avec la bibliothèque C du 585 système hôte ; la précision et le comportement dans les cas 586 particuliers peuvent varier en fonction du système hôte. 587 587 </para> 588 588 … … 646 646 647 647 <table id="functions-math-func-table"> 648 <title>Fonctions math ᅵmatiques</title>648 <title>Fonctions mathématiques</title> 649 649 <tgroup cols="5"> 650 650 <colspec colnum="1" colwidth="0.7*"/> … … 656 656 <row> 657 657 <entry>Fonction</entry> 658 <entry>Type renvoy ᅵ</entry>658 <entry>Type renvoyé</entry> 659 659 <entry>Description</entry> 660 660 <entry>Exemple</entry> 661 <entry>R ᅵsultat</entry>661 <entry>Résultat</entry> 662 662 </row> 663 663 </thead> … … 667 667 668 668 <entry><literal><function>abs</function>(<replaceable>x</replaceable>)</literal></entry> 669 <entry>(identique ᅵ<replaceable>x</replaceable>)</entry>669 <entry>(identique à <replaceable>x</replaceable>)</entry> 670 670 <entry>valeur absolue</entry> 671 671 <entry><literal>abs(-17.4)</literal></entry> … … 685 685 <entry><literal><function>ceil</function>(<type>dp</type> ou 686 686 <type>numeric</type>)</literal></entry> 687 <entry>(identique ᅵl'argument)</entry>688 <entry>plus petit entier sup ᅵrieur ᅵl'argument</entry>687 <entry>(identique à l'argument)</entry> 688 <entry>plus petit entier supérieur à l'argument</entry> 689 689 <entry><literal>ceil(-42.8)</literal></entry> 690 690 <entry><literal>-42</literal></entry> … … 694 694 <row> 695 695 <entry><literal><function>ceiling</function>(<type>dp</type> ou <type>numeric</type>)</literal></entry> 696 <entry>(identique ᅵl'argument)</entry>697 <entry>plus petit entier sup ᅵrieur ᅵl'argument (alias de696 <entry>(identique à l'argument)</entry> 697 <entry>plus petit entier supérieur à l'argument (alias de 698 698 <function>ceil</function>)</entry> 699 699 <entry><literal>ceiling(-95.3)</literal></entry> … … 704 704 <entry><literal><function>degrees</function>(<type>dp</type>)</literal></entry> 705 705 <entry><type>dp</type></entry> 706 <entry>radians vers degr ᅵs</entry>706 <entry>radians vers degrés</entry> 707 707 <entry><literal>degrees(0.5)</literal></entry> 708 708 <entry><literal>28.6478897565412</literal></entry> … … 712 712 <entry><literal><function>exp</function>(<type>dp</type> ou 713 713 <type>numeric</type>)</literal></entry> 714 <entry>(identique ᅵl'argument)</entry>714 <entry>(identique à l'argument)</entry> 715 715 <entry>exponentiel</entry> 716 716 <entry><literal>exp(1.0)</literal></entry> … … 721 721 <entry><literal><function>floor</function>(<type>dp</type> ou 722 722 <type>numeric</type>)</literal></entry> 723 <entry>(identique ᅵl'argument)</entry>724 <entry>plus grand entier inf ᅵrieur ᅵl'argument</entry>723 <entry>(identique à l'argument)</entry> 724 <entry>plus grand entier inférieur à l'argument</entry> 725 725 <entry><literal>floor(-42.8)</literal></entry> 726 726 <entry><literal>-43</literal></entry> … … 730 730 <entry><literal><function>ln</function>(<type>dp</type> ou 731 731 <type>numeric</type>)</literal></entry> 732 <entry>(identique ᅵl'argument)</entry>732 <entry>(identique à l'argument)</entry> 733 733 <entry>logarithme</entry> 734 734 <entry><literal>ln(2.0)</literal></entry> … … 739 739 <entry><literal><function>log</function>(<type>dp</type> ou 740 740 <type>numeric</type>)</literal></entry> 741 <entry>(identique ᅵl'argument)</entry>741 <entry>(identique à l'argument)</entry> 742 742 <entry>logarithme base 10</entry> 743 743 <entry><literal>log(100.0)</literal></entry> … … 778 778 <parameter>b</parameter> <type>dp</type>)</literal></entry> 779 779 <entry><type>dp</type></entry> 780 <entry><parameter>a</parameter> ᅵlevᅵ ᅵla puissance780 <entry><parameter>a</parameter> élevé à la puissance 781 781 <parameter>b</parameter></entry> 782 782 <entry><literal>power(9.0, 3.0)</literal></entry> … … 789 789 <parameter>b</parameter> <type>numeric</type>)</literal></entry> 790 790 <entry><type>numeric</type></entry> 791 <entry><parameter>a</parameter> ᅵlevᅵ ᅵla puissance791 <entry><parameter>a</parameter> élevé à la puissance 792 792 <parameter>b</parameter></entry> 793 793 <entry><literal>power(9.0, 3.0)</literal></entry> … … 799 799 <entry><literal><function>radians</function>(<type>dp</type>)</literal></entry> 800 800 <entry><type>dp</type></entry> 801 <entry>degr ᅵs vers radians</entry>801 <entry>degrés vers radians</entry> 802 802 <entry><literal>radians(45.0)</literal></entry> 803 803 <entry><literal>0.785398163397448</literal></entry> … … 815 815 <entry><literal><function>round</function>(<type>dp</type> ou 816 816 <type>numeric</type>)</literal></entry> 817 <entry>(identique ᅵl'argument)</entry>818 <entry>arrondi ᅵl'entier le plus proche</entry>817 <entry>(identique à l'argument)</entry> 818 <entry>arrondi à l'entier le plus proche</entry> 819 819 <entry><literal>round(42.4)</literal></entry> 820 820 <entry><literal>42</literal></entry> … … 826 826 <type>int</type>)</literal></entry> 827 827 <entry><type>numeric</type></entry> 828 <entry>arrondi pour <parameter>s</parameter> d ᅵcimales</entry>828 <entry>arrondi pour <parameter>s</parameter> décimales</entry> 829 829 <entry><literal>round(42.4382, 2)</literal></entry> 830 830 <entry><literal>42.44</literal></entry> … … 835 835 <entry><literal><function>setseed</function>(<type>dp</type>)</literal></entry> 836 836 <entry><type>int</type></entry> 837 <entry>initialise la recherche pour les appels ᅵ838 <literal>random()</literal> ᅵsuivre837 <entry>initialise la recherche pour les appels à 838 <literal>random()</literal> à suivre 839 839 (valeur entre 0 et 1.0)</entry> 840 840 <entry><literal>setseed(0.54823)</literal></entry> … … 845 845 <entry><literal><function>sign</function>(<type>dp</type> ou 846 846 <type>numeric</type>)</literal></entry> 847 <entry>(identique ᅵl'argument)</entry>847 <entry>(identique à l'argument)</entry> 848 848 <entry>signe de l'argument (-1, 0, +1)</entry> 849 849 <entry><literal>sign(-8.4)</literal></entry> … … 854 854 <entry><literal><function>sqrt</function>(<type>dp</type> ou 855 855 <type>numeric</type>)</literal></entry> 856 <entry>(identique ᅵl'argument)</entry>857 <entry>racine carr ᅵ</entry>856 <entry>(identique à l'argument)</entry> 857 <entry>racine carré</entry> 858 858 <entry><literal>sqrt(2.0)</literal></entry> 859 859 <entry><literal>1.4142135623731</literal></entry> … … 863 863 <entry><literal><function>trunc</function>(<type>dp</type> ou 864 864 <type>numeric</type>)</literal></entry> 865 <entry>(identique ᅵl'argument)</entry>866 <entry>tronque vers z ᅵro</entry>865 <entry>(identique à l'argument)</entry> 866 <entry>tronque vers zéro</entry> 867 867 <entry><literal>trunc(42.8)</literal></entry> 868 868 <entry><literal>42</literal></entry> … … 874 874 <type>int</type>)</literal></entry> 875 875 <entry><type>numeric</type></entry> 876 <entry>tronque sur <parameter>s</parameter> d ᅵcimales</entry>876 <entry>tronque sur <parameter>s</parameter> décimales</entry> 877 877 <entry><literal>trunc(42.4382, 2)</literal></entry> 878 878 <entry><literal>42.43</literal></entry> … … 885 885 <parameter>count</parameter> <type>int</type>)</literal></entry> 886 886 <entry><type>int</type></entry> 887 <entry>renvoie le jeton auquel l'<parameter>op ᅵrande</parameter> est affectᅵdans888 un histogramme d' ᅵquidistance ᅵ<parameter>nombre</parameter> jetons,889 les valeurs allant de <parameter>b1</parameter> ᅵ887 <entry>renvoie le jeton auquel l'<parameter>opérande</parameter> est affecté dans 888 un histogramme d'équidistance à <parameter>nombre</parameter> jetons, 889 les valeurs allant de <parameter>b1</parameter> à 890 890 <parameter>b2</parameter></entry> 891 891 <entry><literal>width_bucket(5.35, 0.024, 10.06, 5)</literal></entry> … … 898 898 <para> 899 899 Enfin, le <xref linkend="functions-math-trig-table"/> affiche les fonctions 900 trigonom ᅵtriques disponibles. Toutes les fonctions trigonomᅵtriques prennent900 trigonométriques disponibles. Toutes les fonctions trigonométriques prennent 901 901 des arguments et renvoient des valeurs de type <type>double precision</type>. 902 902 </para> … … 928 928 929 929 <table id="functions-math-trig-table"> 930 <title>Fonctions trigonom ᅵtriques</title>930 <title>Fonctions trigonométriques</title> 931 931 932 932 <tgroup cols="2"> … … 1003 1003 1004 1004 <sect1 id="functions-string"> 1005 <title>Fonctions et op ᅵrateurs de chaᅵnes</title>1006 1007 <para> 1008 Cette section d ᅵcrit les fonctions et opᅵrateurs d'examen et de1009 mainpulation des valeurs de type cha ᅵne de caractᅵres. Dans ce contexte, les chaᅵnes1005 <title>Fonctions et opérateurs de chaînes</title> 1006 1007 <para> 1008 Cette section décrit les fonctions et opérateurs d'examen et de 1009 mainpulation des valeurs de type chaîne de caractères. Dans ce contexte, les chaînes 1010 1010 incluent les valeurs des types <type>character</type>, <type>character 1011 varying</type> et <type>text</type>. Sauf lorsque cela est pr ᅵcisᅵ1012 diff ᅵrement, toutes les fonctions listᅵes ci-dessous fonctionnent sur tous ces types, mais1013 une attention particuli ᅵre doit ᅵtre portᅵe aux effets potentiels du remplissage automatique lors de1014 l'utilisation du type <type>character</type>. G ᅵnᅵralement, les fonctions1015 d ᅵcrites ici fonctionnent aussi sur les donnᅵes d'autres types en1016 convertissant au pr ᅵalable la donnᅵe en une reprᅵsentation de type chaᅵne.1017 Quelques fonctions existent aussi nativement pour le type cha ᅵne bit ᅵ1011 varying</type> et <type>text</type>. Sauf lorsque cela est précisé 1012 différement, toutes les fonctions listées ci-dessous fonctionnent sur tous ces types, mais 1013 une attention particulière doit être portée aux effets potentiels du remplissage automatique lors de 1014 l'utilisation du type <type>character</type>. Généralement, les fonctions 1015 décrites ici fonctionnent aussi sur les données d'autres types en 1016 convertissant au préalable la donnée en une représentation de type chaîne. 1017 Quelques fonctions existent aussi nativement pour le type chaîne bit à 1018 1018 bit. 1019 1019 </para> 1020 1020 1021 1021 <para> 1022 <acronym>SQL</acronym> d ᅵfinit quelques fonctions de type chaᅵne avec une1023 syntaxe particuli ᅵre oᅵ des mots clᅵs sont utilisᅵs ᅵla place de1024 virgule pour s ᅵparer les arguments. Des dᅵtails sont disponibles dans le1022 <acronym>SQL</acronym> définit quelques fonctions de type chaîne avec une 1023 syntaxe particulière où des mots clés sont utilisés à la place de 1024 virgule pour séparer les arguments. Des détails sont disponibles dans le 1025 1025 <xref linkend="functions-string-sql"/>. Ces fonctions sont aussi 1026 implant ᅵes en utilisant la syntaxe habituelle d'appel de fonctions1026 implantées en utilisant la syntaxe habituelle d'appel de fonctions 1027 1027 (voir le <xref linkend="functions-string-other"/>). 1028 1028 </para> … … 1060 1060 1061 1061 <table id="functions-string-sql"> 1062 <title>Fonctions et op ᅵrateurs <acronym>SQL</acronym> pour le type chaᅵne</title>1062 <title>Fonctions et opérateurs <acronym>SQL</acronym> pour le type chaîne</title> 1063 1063 <tgroup cols="5"> 1064 1064 <colspec colnum="1" colwidth="1.3*"/> … … 1070 1070 <row> 1071 1071 <entry>Fonction</entry> 1072 <entry>Type renvoy ᅵ</entry>1072 <entry>Type renvoyé</entry> 1073 1073 <entry>Description</entry> 1074 1074 <entry>Exemple</entry> 1075 <entry>R ᅵsultat</entry>1075 <entry>Résultat</entry> 1076 1076 </row> 1077 1077 </thead> … … 1079 1079 <tbody> 1080 1080 <row> 1081 <entry><literal><parameter>cha ᅵne</parameter> <literal>||</literal>1082 <parameter>cha ᅵne</parameter></literal></entry>1081 <entry><literal><parameter>chaîne</parameter> <literal>||</literal> 1082 <parameter>chaîne</parameter></literal></entry> 1083 1083 <entry><type>text</type> </entry> 1084 1084 <entry> 1085 Concat ᅵnation de chaᅵne1085 Concaténation de chaîne 1086 1086 <indexterm> 1087 <primary>cha ᅵne de caractᅵres</primary>1088 <secondary>concat ᅵnation</secondary>1087 <primary>chaîne de caractères</primary> 1088 <secondary>concaténation</secondary> 1089 1089 </indexterm> 1090 1090 </entry> … … 1096 1096 1097 1097 <entry><literal><function>bit_length</function> 1098 (<parameter>cha ᅵne</parameter>)</literal></entry>1098 (<parameter>chaîne</parameter>)</literal></entry> 1099 1099 <entry><type>int</type></entry> 1100 <entry>Nombre de bits de la cha ᅵne</entry>1100 <entry>Nombre de bits de la chaîne</entry> 1101 1101 <entry><literal>bit_length('jose')</literal></entry> 1102 1102 <entry><literal>32</literal></entry> … … 1106 1106 1107 1107 <entry><literal><function>char_length</function> 1108 (<parameter>cha ᅵne</parameter>)</literal> ou1108 (<parameter>chaîne</parameter>)</literal> ou 1109 1109 <literal><function>character_length</function> 1110 (<parameter>cha ᅵne</parameter>)</literal></entry>1110 (<parameter>chaîne</parameter>)</literal></entry> 1111 1111 <entry><type>int</type></entry> 1112 1112 <entry> 1113 Nombre de caract ᅵres de la chaᅵne1113 Nombre de caractères de la chaîne 1114 1114 <indexterm> 1115 <primary>cha ᅵne de caractᅵres</primary>1115 <primary>chaîne de caractères</primary> 1116 1116 <secondary>longueur</secondary> 1117 1117 </indexterm> 1118 1118 <indexterm> 1119 1119 <primary>longueur</primary> 1120 <secondary sortas="character string">d'une cha ᅵne de1121 caract ᅵres</secondary>1122 <see>cha ᅵne de caractᅵres, longueur</see>1120 <secondary sortas="character string">d'une chaîne de 1121 caractères</secondary> 1122 <see>chaîne de caractères, longueur</see> 1123 1123 </indexterm> 1124 1124 </entry> … … 1129 1129 <row> 1130 1130 1131 <entry><literal><function>convert</function>(<parameter>cha ᅵne</parameter>1131 <entry><literal><function>convert</function>(<parameter>chaîne</parameter> 1132 1132 using <parameter>nom_conversion</parameter>)</literal></entry> 1133 1133 <entry><type>text</type></entry> 1134 1134 <entry> 1135 Modifie le codage en focntion du nom de conversion indiqu ᅵ. Les1136 conversions peuvent ᅵtre dᅵfinies par <command>CREATE1137 CONVERSION</command>. De m ᅵme, il existe quelques noms de conversion1138

