IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Server : msg 241 "Problème avec les dates"


Sujet :

Développement SQL Server

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Server : msg 241 "Problème avec les dates"
    Bonjour,

    j'ai utilisé le script suivant pour une insertion dans une table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    USE MaBaseDeDonnées
    GO
    Delete from MaTable
    GO
    INSERT INTO MaTable ( CH1, CH2, CH3, CH4, CH5, CH6, Date_1, Date_2) VALUES ( 'Valeur1', 'Valeur2', 'Valeur3', 'Valeur4', 'Valeur5', 'Valeur6', '2006-09-20 15:44:28.437', '2007-11-11 15:54:40.07' )
    GO
    Alors SQL Query analyser m'affiche l'erreur :

    Server : Msg 241, Level 16, State 1, Line 1
    Erreur de syntaxe lors de la conversion d'une valeur datetime à partir d'une chaine de caractères,

    est ce que mon problème réside dans l'incompatibilité entre le format du champs datetime de ma table et ma requête, ou bien y'a d'autres explication ?

    Merci.

  2. #2
    Membre confirmé Avatar de agemis31
    Profil pro
    DBA
    Inscrit en
    Octobre 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : DBA

    Informations forums :
    Inscription : Octobre 2007
    Messages : 399
    Points : 478
    Points
    478
    Par défaut
    Bonjour,

    Oui, c'est ça. Le plus simple pour les conversions chaine des caractères -> datetime est d'utiliser le format ISO (YYYYMMDD), qui fonctionnera sous Management studio est qui est indépendant de la culture.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    declare @t table (d datetime)
    --aille!
    --insert into @t select '2006-09-20 15:44:28.437' 
    --ISO
    insert into @t select '20060920 15:44:28.437' 
    select * from @t
    @+

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci pour votre réponse -agemis31-

    Votre solution fonctionne très bien même avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    USE MaBaseDeDonnées
    GO
    DELETE FROM MaTable
    GO
    INSERT INTO MaTable ( CH1, CH2, CH3, CH4, CH5, CH6, Date_1, Date_2) VALUES ( 'Valeur1', 'Valeur2', 'Valeur3', 'Valeur4', 'Valeur5', 'Valeur6', '20060920 15:44:28.437', '20071111 15:54:40.07' )
    GO
    Le problème c'est que le script au totale contient plus de deux milles lignes de code donc pour modifier la totalité du code ça vas me prendre beaucoup de temps en plus ça nécessite des modifications coté application chose que je ne peut faire pour le moment.

    Alors je me suis penché sur l'idée suivante :
    Modifier le format du type datetime sur mon SGBDR "SQL Server 2000" pour qu'il soit au format US je suis pas certain du sort de cette idée mais je pense que c'est faisable. Et pour être honnête je cherche depuis deux jours sans résultat positif, alors si vous savez comment faire merci de me le dire.

    Cordialement Saadou

  4. #4
    Membre confirmé Avatar de agemis31
    Profil pro
    DBA
    Inscrit en
    Octobre 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : DBA

    Informations forums :
    Inscription : Octobre 2007
    Messages : 399
    Points : 478
    Points
    478
    Par défaut
    Bonsoir saadou,

    Essayez avec

    en entête de script

    @+

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci pour votre aide -agemis31- ça fonctionne très bien merci beaucoup

    Cordialement Saadou

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/11/2005, 11h43
  2. problème avec les dates!!
    Par JauB dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 28/10/2005, 09h16
  3. problème avec les dates nulles
    Par shingo dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 30/09/2005, 12h32
  4. [SQL] problème avec les date et les group By
    Par Stef784ever dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/11/2004, 09h18
  5. Interbase - dbExpress -> problème avec les dates
    Par marghett dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/07/2004, 03h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo