Je tente d'exécuter un simple script UPDATE
sur un champ integer
, les deux derniers chiffres étant "conservés" et les premiers chiffres étant supprimés. Par exemple, "0440" serait mis à jour en tant que "40". Je peux obtenir les données souhaitées dans un communiqué SELECT
, commeFonction RIGHT dans l'instruction UPDATE avec champ entier
SELECT RIGHT(field_name::varchar, 2)
FROM table_name;
Cependant, je rencontre une erreur lorsque je tente d'utiliser cette même fonctionnalité dans un script UPDATE
, tels que:
UPDATE schema_name.table_name
SET field_name = RIGHT(field_name::varchar, 2);
L'erreur que je reçois est la suivante:
colonne. . . est de type entier mais l'expression est de type texte. . . TRUC: Vous aurez besoin de réécrire ou de jeter l'expression
Pour plus de précisions, est 'field_name '' une colonne '' int '' ou 'varchar' dans votre table? –
@ChrisJ: Titre et erreur msg dit' integer'. (Bien que le texte de la question soit un peu trompeur.) –
La question semble trop évidente, donc je pensais que c'était mérite d'être clarifié –