PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 06/03/2023 10:53:30

sdoumbia
Membre

Update en utilisant la fonction round

Bonjour,

je suis débutant sur PostgrSQL et je souhaite savoir s'il existe une requête avec UPDATE pour arrondir.
Je serai reconnaissant de votre aide.
Merci d'avance

Hors ligne

#2 06/03/2023 11:42:17

rjuju
Administrateur

Re : Update en utilisant la fonction round

Bonjour,


Vous pouvez utiliser round ou n'importe quelle autre fonction lors d'un UPDATE.  Si vous rencontrez un problème le plus simple est généralement de fournir un jeu de donnée d'exemple, la requête problématique ainsi que le résultat voulu afin qu'on puisse vous aider.

Hors ligne

#3 06/03/2023 11:51:00

sdoumbia
Membre

Re : Update en utilisant la fonction round

Merci beaucoup de votre réponse.
voici ma requête :

update test.fleuve
round(tx_uti_sch, 2)
from test.fleuve ;

message d'erreur :
ERROR: ERREUR:  erreur de syntaxe sur ou près de « ( »
LINE 2: round(tx_uti_sch, 2)
             ^

Hors ligne

#4 06/03/2023 12:00:48

ruizsebastien
Membre

Re : Update en utilisant la fonction round

Bonjour, il ne manquerait pas le "set" dans votre commande ?
update test.fleuve set
round(tx_uti_sch, 2)
from test.fleuve ;


Cordialement,

Sébastien.

Hors ligne

#5 06/03/2023 12:20:43

sdoumbia
Membre

Re : Update en utilisant la fonction round

Bonjour,
merci beacoup. Effectivement, il manquait set dans la requête

update test.fleuve
set tx_uti_sch = round(tx_uti_sch, 2);

Et je viens de voir que la colonne tx_uti_sch  n'est pas un numeric

ERROR: ERREUR:  la fonction round(character varying, integer) n'existe pas
LINE 2: set tx_uti_sch = round(tx_uti_sch, 2);

Hors ligne

#6 06/03/2023 12:36:30

sdoumbia
Membre

Re : Update en utilisant la fonction round

Re-bonjour,
après transformation de variables en numéric,
quand je joue cette requête :
update test.fleuve
set tx_uti_sch = round(tx_uti_sch, 2);


j'ai pas de message d'erreur
(UPDATE 3051

Query returned successfully in 97 msec.)

mais il ne se passe rien au niveau de colonne.

Pourriez-vous me dire ce qui fait s'il vous plaît ?

Hors ligne

#7 06/03/2023 15:46:53

sdoumbia
Membre

Re : Update en utilisant la fonction round

merci à ceux qu'ont répondu :
la bonne requête est :

update test.fleuve
set tx_uti_sch = round(tx_uti_sch:: numeric, 2);

Cordialement,

Hors ligne

Pied de page des forums