Quand j'entre dans une dateadd ou datediff code, j'obtiens cette erreur tout le temps “ORA-00904 ”DATEADD“ IDENTIFIANT INVALIDE.”
J'ai un projet de l'université et j'ai une table patient à l'admission et la date de sortie des attributs. J'ai besoin de supprimer les enregistrements qui sont âgés de plus de 7 ans, j'ai utilisé le code suivant :
delete from patient
where dis_date >= datedadd(yy,-7,getdate());
Je reçois le message d'erreur
"ORA-00904: "DATEADD" identifiant invalide"
. Il en va de même avec la fonction DATEDIFF. Les solutions de rechange s'il vous plaît?
- Est-ce
datedadd
faute de frappe ou une erreur ? - Oracle n'a pas
DATEADD
, voir ici stackoverflow.com/questions/24405297/... - Le "datedadd' Est une faute de frappe, je voulais écrire "dateadd'.
- Oracle n'a pas
DATEADD()
ouDATEDIFF()
- Datetime/de l'Arithmétique d'Intervalle dans le manuel
Vous devez vous connecter pour publier un commentaire.
Typique de la façon de le faire dans Oracle serait:
La raison pour laquelle je vous suggérons d'utiliser
ADD_MONTHS()
au lieu de l'année intervalles est queADD_MONTHS()
est de l'année bissextile en sécurité.Vous pouvez essayer ceci:
Il n'y a pas de fonction nommée comme
DATEADD
dans Oracle.