je veux afficher/convertir un nombre en caractère (de même longueur) à l'aide de la fonction to_char ().
Dans Oracle, je peux écrire comme
SELECT to_char(1234) FROM DUAL
Mais dans postgres SELECT to_char(1234)
ne fonctionne pas.
Vous devez fournir un masque de format. Dans PostgreSQL, il n'y a pas de valeur par défaut:
select to_char(1234, 'FM9999');
Si vous ne savez pas combien de chiffres il y a, estimez simplement le maximum:
select to_char(1234, 'FM999999999999999999');
Si le nombre a moins de chiffres, cela n'aura aucun effet secondaire.
Si vous n'avez besoin d'aucun formatage (comme le point décimal, le séparateur de milliers), vous pouvez également convertir la valeur en texte:
select 1234::text
vous devez spécifier un format numérique, c'est-à-dire:
to_char(1234, '9999')
Jetez un coup d'oeil ici pour plus d'informations: http://www.postgresql.org/docs/current/static/functions-formatting.html
La fonction CAST a fonctionné pour moi.
SELECT CAST(integerv AS text) AS textv
FROM (
SELECT 1234 AS integerv
) x
OU
SELECT integerv::text AS textv
FROM (
SELECT 1234 AS integerv
) x