ERREUR ORA-00932: incompatible types de données: DATE prévue pour le NOMBRE obtenu
Je suis en train d'exécuter l'instruction sql suivante pour une base de données oracle:
UPDATE PARENT
SET RENEW_DATE = TO_DATE('08/31/' + EXTRACT(YEAR FROM JOINED), 'MM/dd/yyyy')
WHERE STATUS_IND = 'Active';
Je suis l'espoir d'obtenir l'année de morceau de champ appelé Rejoint ce qui est d'une date en format jj/MM/aaaa. Je veux le résultat final, ou la valeur que je suis en train de regarder comme "8/31/2015' par exemple.
Toute aide est appréciée, j'ai essayé plusieurs choses.
- Ce type de données est
JOINED
? - Je m'excuse, ce que j'avais avant est l'ORA-00932, ci-dessus, j'obtiens l'erreur ORA-01722: nombre non valable
- REJOINT est de type DATE
Vous devez vous connecter pour publier un commentaire.
Utiliser un
||
au lieu de la+
signe de concatinate la date ensemble.'08/31/'
, c'est le caractère littéral (aka "chaîne") et le nombre retourné parEXTRACT(YEAR FROM JOINED)
sera implicitement converti en chaîne en raison de la manière dont il est utilisé.code
mise à JOUR de PARENT ENSEMBLE RENEW_DATE = DATEADD(AN, 1, TO_DATE('08/31/' || EXTRAIT(ANNÉE DE JOINT) , "MM/dd/yyyy')) OÙ STATUS_IND = 'Active'code