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 :

Syntax error converting datetime from character string


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 296
    Points : 81
    Points
    81
    Par défaut Syntax error converting datetime from character string
    J'ai développé la procédure stockée suivante sur SQL Server 2000:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CREATE PROCEDURE [dbo].[testD]  AS
     
    select convert(datetime,convert(varchar,DatVal)+' '  + Substring(TimVal,1,2)+':'+ Substring(TimVal,3,2),3) as date_temps_converti
     
    FROM MaTable
     
    GO
    Ma procédure retourne un certains nombres d'enregistrements puis s'arrête avec le message d'erreur suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Syntax error converting datetime from character string.
    DatVal est de type decimal (8,0) de la forme AAAAMMJJ
    TimVal est de type nvarchar(30) de la forme HHMM

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Essayez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE PROCEDURE [dbo].[testD]
    AS
    BEGIN
    	SELECT DATEADD
    			(
    				minute,
    				CAST(SUBSTRING(TimVal, 1, 2) AS INT) * 60 + CAST(SUBSTRING(TimVal, 3, 2) AS INT),
    				CAST(CAST(DatVal AS VARCHAR) AS DATETIME)
    			)
    END
    TimVal est de type nvarchar(30) de la forme HHMM
    Pourquoi pas INT directement ?

    @++

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 296
    Points : 81
    Points
    81
    Par défaut
    Je reformule:
    J'essaie d'appliquer une conversion en Datetime à un varchar(30) et j'obtiens toujours le message d'erreur précédent.
    Cette chaine varchar (30) a la forme suivante : 2007-03-23 19:39:00.000

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Syntax error converting datetime from character string.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 865
    Points : 53 021
    Points
    53 021
    Billets dans le blog
    6
    Par défaut
    Commencez par paramétrer le format de date dans la session à YMD :

    A +

  5. #5
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 296
    Points : 81
    Points
    81
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Commencez par paramétrer le format de date dans la session à YMD :

    A +
    Bonjour,

    J'ai testé ceci mais toujours le même message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Syntax error converting datetime from character string.
    Ma procédure me rend un certain nombre d'enregistrements puis s'arrête et affiche le message d'erreur.

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 865
    Points : 53 021
    Points
    53 021
    Billets dans le blog
    6
    Par défaut
    C'est que vous avez sans doute des dates ininterprétables du genre 43 mars 2112....

    A +

  7. #7
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 296
    Points : 81
    Points
    81
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    C'est que vous avez sans doute des dates ininterprétables du genre 43 mars 2112....

    A +
    Bonjour SQLpro, effectivement, il s'est avéré qu'on avait des dates sous un autre format. Je me suis contentée d'un intervalle particulier sur lequel je testais mes procédures. MErci à vous.
    Merci à tous ceux qui sont sur ce forum.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/03/2009, 14h44
  2. [SQL SERVER] Syntax error converting the varchar value
    Par freud dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2007, 17h51
  3. Syntax error converting character string to smalldatetime data type.
    Par Anthony.Desvernois dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/07/2007, 17h26
  4. Réponses: 3
    Dernier message: 01/05/2007, 18h57
  5. [Kylix] Error converting locale string
    Par BONNEFOI Patrick dans le forum EDI
    Réponses: 1
    Dernier message: 05/04/2005, 09h26

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