|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : avril 2008 Messages : 140 ![]() |
Bonjour J'ai une date sous ce format:
2011-05-20 09:23:04.000000000 et je souhaiterai le mettre dans ce format 2011-05-20 09:23:04.000 pour pouvoir l'insérer dans ma base. Car quand j'essaie d'insérer directement 2011-05-20 09:23:04.000000000 j'ai une erreur:Échec de la conversion de la date et/ou de l'heure à partir d'une chaîne de caractères. Aidez moi svp! |
|
|
00
|
|
|
#2 | ||||||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
D'ou provient cette date et quel est son type
Citation:
Code SQL :
Citation:
Code SQL :
|
||||||
|
|
00
|
|
|
#3 | ||
|
Membre à l'essai
![]() Inscription : avril 2008 Messages : 140 ![]() |
ma date que je récupére au format:2011-05-20 11:42:48.000000000
provient d'une fonction spécifique à cohéris: Code :
Et voici ma requete d'insertion de ma date avec d'autres variables dans sqlserver: Code :
INSERT INTO CTIERS (CT_CODE, REFERENCE, CT_DATE,CO_CODE,CT_ADRESSE,CT_CP,CT_VILLE ,CT_INT01) VALUES (41,174,'2011-05-20 11:42:48.000','FRA', 'testprospect52' ,'80000','amiens',1); La conversion d'un type de données varchar en type de données datetime a créé une valeur hors limites. L'instruction a été arrêtée. |
||
|
|
00
|
|
|
#4 | ||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Bonjour,
Marrant ... Sous SQL Server 2008 (est-ce la version que vous utilisez ?) je viens de tester : Code :
DECLARE @toto datetime2(7) = '2011-05-20 11:42:48.000' J'ai ensuite essayé avec tous les types de données de temps : - datetime - datetime2(X), X allant de 1 à 7 - date - time - datetimeoffset(X), X allant de 1 à 7 Pas d'erreur Donc ce que le type de données de la colonne CT_DATE n'est pas un type qui permet de gérer des dates. Quel est le type de la colonne CT_DATE ? La requête suivante vous le donnera : Code :
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||
|
10
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : avril 2008 Messages : 140 ![]() |
Oui c'est bien sous SQL Server 2008
le type de mon champ CT_DATE est datetime. . Je ne vois vraiment pas aussi ce qui cloche: comme je vous l'ai dis l'insert génére une erreur: La conversion d'un type de données varchar en type de données datetime a créé une valeur hors limites. L'instruction a été arrêtée. Code :
INSERT INTO CTIERS (CT_CODE, REFERENCE, CT_DATE,CO_CODE,CT_ADRESSE,CT_CP,CT_VILLE ,CT_INT01) VALUES (41,175,'2011-05-20 13:42:46.244','FRA', 'testprospect53' ,'80000','amiens',1) Aidez moi svp |
|
|
00
|
|
|
#6 | |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Citation:
Essayez ceci : Code :
DECLARE @toto datetime = '2011-05-20 13:42:46.244' Code :
DECLARE @toto datetime = '20110520 13:42:46.244' @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com