Comment faire pour convertir un caractère en entier à l'intérieur d'un PostgreSQL (9.1) de la fonction?
J'ai le code suivant:
BEGIN
x := split_part(text, ',', 1);
UPDATE albumphoto SET order = 1 WHERE idtable = 1 AND idx = x;
END
Mais mon tableau de la colonne nommée idx
est un type numérique, et la split_part
retourne un personnage type de la variable x
. J'ai essayé d'utiliser CAST
, mais je ne sais pas comment l'utiliser correctement.
Des idées?
Vous devez vous connecter pour publier un commentaire.
Comme ceci:
(Utilisation appropriée de type numérique au lieu de
INTEGER
).Ou plus simple:
expression::type
est simple (non-SQL standard), Postgres manière à lancer. Les détails dans le manuel dans le chapitre Type De Jette.Plus sur types de données dans PostgreSQL.
Le dernier prédicat j'ai ajouté est utile si
order
pourrait déjà être1
, auquel cas la mise à jour ne serait pas de changer quoi que ce soit, mais toujours le même coût. Plutôt ne rien faire à la place. Liées (considérer le dernier paragraphe):Et vous n'avez pas besoin une variable ici.