J'ai le champ:
APP_DATE (smalldatetime)
Je fais cette requête:
INSERT INTO table (TYPE, CODE, APP_DATE, DATE) VALUES ('APP', '123', '02/10/2010 12.30', GETDATE())
Il échoue:
Msg 296, Level 16, State 3, Line 1 Conversion from datatype char to smalldatetime generated a value not between the interval of valid values. Instruction has been interrupted. (0 row(s) affected)
Qu'est-ce que je fais mal? Il me semble que le format correct pour le champ ..
Merci pour votre time.
EDIT: SQL Server 2000
Juste utiliser :
dans votre time au lieu de .
. Ensuite, il va bien insert.
Pouvez-vous essayer d'utiliser le format de date ISO-8601 (AAAAMMJJ HH: MM: SS) – cela fonctionnera toujours sur SQL Server – quels que soient vos parameters régionaux et régionaux:
INSERT INTO table (TYPE, CODE, APP_DATE, DATE) VALUES ('APP', '123', '20100210 12:30:00', GETDATE())
Le format de l'heure date n'est pas correct. l'année devrait être à 4 numbers (sinon elle est ambiguë) et le séparateur de time devrait être un deux-points.
2003/01/22 22:31 va fonctionner. voir cet article .
insert dans vos valeursTable (yourSmallDateTimeColumn) ('1900-01-01 11:45:23'); // format "aaaa-MM-jj HH: mm: ss"
Si vous n'avez pas besoin de l'élément time dans le champ, SQL Server le fera par défaut à 00:00:00 si vous envoyez simplement '02 / 10/2010 'Si vous avez besoin de l'élément time alors votre format pour l'heure est faux dans votre exemple et il devrait être quelque chose comme ça – '02 / 10/2010 12:31:00 '