Comment afficher le zéro dans un certain nombre de oracle

J'ai un oracle de la colonne(artnr) contient une longueur de 1, qui est de type(9). Je veux mettre à jour le numéro suivant...

Exemple :

Si le nombre est 0, alors il devrait être 00000
Si le nombre est 1, alors il devrait être 00001
Si le nombre est de 12 le il devrait être 00012

Rappelez-vous : ici 00000,0000, et 00012 sont de numéro de types de données

Voici les méthodes que j'ai essayé mais échoué..

UPDATE pitb.toestel b
   SET b.artnr = LPAD (b.artnr, 5, 0)
 WHERE b.idinventaris = 403743;

A échoué car Lpad ne peut être appliqué que sur des chaînes

UPDATE pitb.toestel b
   SET b.artnr = TO_NUMBER (TO_CHAR (artnr, '00009'), '00009')
 WHERE b.idinventaris = 403743;

Encore échoué, parce que to_number n'affiche pas le zéro. Il ne prend en compte à partir du premier numéro de

Personne, pourriez-vous s'il vous plaît me suggérer quelque chose qui permettra de résoudre ce scénario..

sql est préférable que pl/sql solution

Un nombre ne peut pas avoir des 0s, c'est un personnage donc, supprimer le TO_NUMBER() autour de votre dernière déclaration.
Lorsqu'une colonne est de number type de données, les zéros ne seront pas enregistrées. Stocker les valeurs des nombres et utiliser lpad()(utiliser to_char() pour éviter implicite de conversion de type de données) ou to_char() directement lorsque vous êtes à l'affichage des données.

OriginalL'auteur Ramu Pedada | 2014-09-22