J'ai du mal à insérer une ligne dans mon tableau. Voici la déclaration insert et la création de la table. Cela fait partie d'une mission uni d'où la simplicité, qu'est-ce que je fais mal? J'utilise Oracle SQL Developer Version 3.0.04. '
Le problème que je rencontre, c’est que c’est seulement l’insertion du jj/lun/aa mais pas du temps. Comment puis-je l'obtenir pour insérer l'heure aussi?
INSERT INTO WORKON (STAFFNO,CAMPAIGNTITLE,DATETIME,HOURS)
VALUES ('102','Machanic Summer Savings',TO_DATE('22/April/2011 8:30:00AM','DD/MON/YY HH:MI:SSAM'),'3')
;
CREATE TABLE WorkOn
(
StaffNo NCHAR(4),
CampaignTitle VARCHAR(50),
DateTime DATE,
Hours VARCHAR(2)
)
;
Merci pour l'aide.
EDIT: Cela n’a aucun sens, je saisis simplement une heure sur le terrain pour vérifier si l’heure fonctionne et si une sortie WTF est générée? C'est vraiment bizarre. Je ne peux pas utiliser un champ de date et juste entrer l'heure, je réalise que cela entraînera des problèmes de manipulation des données, mais cela n'a aucun sens ...
Vous faites tout correctement en utilisant une fonction to_date et en spécifiant l'heure. Le temps est là dans la base de données. Le problème, c'est que lorsque vous sélectionnez une colonne de type de données DATE dans la base de données, le masque de format par défaut n'affiche pas l'heure. Si vous émettez un
alter session set nls_date_format = 'dd/MON/yyyy hh24:mi:ss'
ou quelque chose de similaire, y compris un composant de temps, vous verrez que le temps est entré avec succès dans la base de données.
Vous pouvez utiliser
insert into table_name
(date_field)
values
(TO_DATE('2003/05/03 21:02:44', 'yyyy/mm/dd hh24:mi:ss'));
J'espère que ça aide.
Essaye ça:
...(to_date('2011/04/22 08:30:00', 'yyyy/mm/dd hh24:mi:ss'));
Utilisez simplement la fonction TO_DATE()
pour convertir la chaîne en DATE
.
Par exemple:
create table Customer(
CustId int primary key,
CustName varchar(20),
DOB date);
insert into Customer values(1,'Vishnu', TO_DATE('1994/12/16 12:00:00', 'yyyy/mm/dd hh:mi:ss'));