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

#1 28/04/2020 21:55:47

Mlan2
Membre

Conversion d'une chaine numérique vers un type oid

Bonjour à tous,

Je cherche à convertir une chaine numérique vers un type oid.

J'ai tenté la commande to_number ('123456', '999999')::oid qui n'est pas acceptée.

Avez-vous la solution pour réaliser cette opération ?

D'avance merci de votre aide.

Cordialement.

Hors ligne

#2 29/04/2020 08:14:46

pifor
Membre

Re : Conversion d'une chaine numérique vers un type oid

Vous pouvez essayer:

# select to_number('123456','999999')::int::oid;
 to_number 
-----------
    123456
(1 row)

Pierre

Hors ligne

#3 29/04/2020 08:25:15

Marc Cousin
Membre

Re : Conversion d'une chaine numérique vers un type oid

ou même vous débarasser de to_number...

postgres=# select 123456::oid;
  oid   
--------
 123456
(1 row)

Si vraiment vous avez besoin de partir d'une chaîne, vous pouvez aussi vous contenter de ça, postgres va deviner tout seul quoi faire:

postgres=# select '123456'::oid;
  oid   
--------
 123456
(1 row)

Les types numeric ne sont pas castables en oid par contre.


Marc.

Hors ligne

#4 29/04/2020 08:36:33

Mlan2
Membre

Re : Conversion d'une chaine numérique vers un type oid

Bonjour à tous,

merci de votre retour.

J'ai, depuis l'envoi de ce post, poursuivi mes recherches et abouti également à la dernière proposition de Marc Cousin, qui me parait la plus rationnelle.

Encore merci.

Bonne journée.

Hors ligne

Pied de page des forums