SOS,je souhaite insérer une heure dans ma table,si je l’insère, la date aussi est insérer, Je veux insérer la l'heure seulement avec la requête
INSERT INTO VOITURE
VALUES(Ford,fiesta,to_date('12:25','HH:MI'))
Version imprimable
SOS,je souhaite insérer une heure dans ma table,si je l’insère, la date aussi est insérer, Je veux insérer la l'heure seulement avec la requête
INSERT INTO VOITURE
VALUES(Ford,fiesta,to_date('12:25','HH:MI'))
Effectivement, il n'existe pas de type "heure simple" sous Oracle, et c'est bien un type DATE qu'il faut prendre.
Comme vous l'avez compris, il faut, lors de l'insertion, formater votre heure avec TO_DATE pour que celle-ci soit reconnue valablement.
Plus concrètement, quand vous fournissez la chaîne '12:25', le format 'HH:MI' fait comprendre à Oracle que cela représente un nombre d'heures et un nombre de minutes.
Pour autant, en interne, une colonne de type DATE contient forcément aussi des composants de type jour, mois, année, et on ne peut pas faire autrement.
Autrement dit, la partie date en elle-même est stockée pour rien et n'a aucune importance pour vous.
C'est lorsqu'on fera un SELECT qu'on précisera à l'aide de TO_CHAR qu'on ne veut visualiser que la partie horaire.
De cette façon, vous ne verrez pas la partie date, bien qu'elle fasse véritablement partie de la valeur stockée en base.Code:SELECT TO_CHAR(heure_depart, 'HH24:MI') from ma_table;
Pour le reste de votre INSERT, la syntaxe n'est pas correcte : il faut placer les chaînes de caractères entre apostrophes.