L'insertion de valeurs datetime dans un informix table échoue
Je suis en train d'insérer une valeur de test '10.06.2011 10:24'
dans un informix 7.3(malheureusement) base de données.
La colonne de destination est
- Système.DateTime
- longueur:16
- précision de 10
bien que ces travaux
select to_date('10.06.2011 10:24', "%d.%m.%Y %H:%M") from test;
INSERT into test values('10.06.2011')
ce ne sont pas des
insert into test values('10.06.2011 10:24');
insert into test values(to_date('10.06.2011 10:24:00', "%d.%m.%Y %H:%M"))
J'ai essayé plusieurs chose de plus comme l'ajout de secounds mais aucun si cela a fonctionné. Tout ce que j'obtiens comme erreur est une erreur de syntaxe sans aucun détail sur l'endroit où il est.
Toutes les suggestions sont les bienvenues.
OriginalL'auteur stb | 2012-07-20
Vous devez vous connecter pour publier un commentaire.
Vous pouvez manipuler la façon dont
DATE
type de champs sont présentés et interprétés avec laDBDATE
variable d'environnement. Le paramètre "DMY4." serait le format de la date que vous avez montré.Mais Frank a dit, le format de
DATETIME
est fixe: il doit être'YYYY-MM-DD hh:mm:ss.fffff'
ou une partie de celui-ci, selon l'ampleur et la précision de laDATETIME
colonne en question.Mise à JOUR (le 2ème commentaire était un peu long...)
Je suis troublé par votre déclaration de format de la "colonne de destination'. Si vous exécutez la commande suivante:
... et le résultat vous indiquera la définition de la colonne comme Informix comprend. Est-il un
DATE
ou unDATETIME
?Vous pouvez insérer un
DATETIME
valeur dans uneDATE
colonne (le temps est tronqué), et vous pouvez insérer unDATE
dans unDATETIME
colonne (temps par défaut à minuit). Mais la valeur doit être en mesure d'être contraint de la colonne cible format, etDD.MM.YYYY hh:mm
n'est pas valide pour unDATETIME
.Euh, non.
DATETIME
les colonnes de toujours étéYYYY-MM-DD hh:mm:ss.ffff
, qui est la norme ISO pour l'horodatage (ou une partie de celle - ci- datetime précision peut êtreYEAR TO MONTH
,DAY TO MINUTE
et ainsi de suite), en remontant plus loin que la version 7. L'interprétation et la présentation desDATE
colonnes est affectée par le réglage de la$DBDATE
variable d'environnement.Voir mise à jour de réponse.
L'exécution de dbschema montre la colonne est vraiment un type de date et pas un datetime. L'outil que j'ai utilisé pour afficher les types de colonne avant le retour du Système".DateTime', ce qui est faux. Là, nous avons eu le problème. Merci beaucoup!
OriginalL'auteur RET
Le format de votre date de partie,
10.06.2011
, vous essayez de l'insérer dans leDATETIME
colonne est faux.Le format accepté, à l'aide de votre exemple, est:
2011-10-06 10:24:00
Vous devez éditer votre question pour clarifier: 1) Est il Informix 7.2, 7.x ? 2) La description de la
DATETIME
colonne que vous essayez de l'insérer dans, par exemple: est-ilDATETIME YEAR TO MINUTE
? (voir DATETIME types de données, Section 3-29OriginalL'auteur Frank R.