Dans Oracle 10g, j'ai eu un problème lors de l'utilisation du type DATE
dans ma table. Je veux juste que mon magasin de champs DATE
seulement DATE
sans temps automatiquement.
Il y a tellement de solutions, je sais que c'est comme utiliser TO_CHAR
et TO_DATE
ou TRUNC
mais je me suis rendu compte que j'utilise tellement de procédures pour insérer ou mettre à jour des données et que je n'ai pas le temps de toutes les mettre à jour.
Comment pourrais-je résoudre ce problème?
La meilleure solution serait de:
supprimer toutes les heures de votre colonne DATE (update yourtable set yourdatecolumn = trunc(yourdatecolumn)
)
assurez-vous que toutes les dates futures ne contiennent aucune partie de temps en plaçant une contrainte de vérification sur la colonne en utilisant check (yourdatecolumn = trunc(yourdatecolumn))
ajustez toutes vos instructions INSERT et UPDATE ou -si vous êtes chanceux- ajustez votre API pour n'insérer que les dates TRUNCed.
La solution la plus simple serait de:
(Facultatif) supprimez toutes les heures de votre colonne DATE.
Créez un déclencheur d'insertion ou de mise à jour de la base de données avant la ligne qui définit :new.yourdatecolumn := trunc(:new.yourdatecolumn);