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 :

[Transact] Migration 2005 vers 2008 et Datetime


Sujet :

Développement SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Points : 19
    Points
    19
    Par défaut [Transact] Migration 2005 vers 2008 et Datetime
    Bonjour,

    Je dois effectuer une migration de plusieurs procédure stockées et je rencontre des problèmes quand je les exécute (compilation OK) au niveau de conversion entre datetime et varchar.

    Alors voila un bou de code qui ne fonctionne plus sous 2008 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    set @date = convert(varchar,getdate(),103)
    print(convert(varchar,@date,112))
    erreur : Msg 242, Level 16, State 3, Line 3
    The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

    Pk ce code ne fonctionne plus ?

    Sinon que pensez-vous de ca ? qui ne fonctionne que sous 2005 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cast(convert(varchar,cdl_date,103) as datetime)
    Es vraiment util de faire datetime > varchar > datetime ?

    Je compte remplacer le premier code plus haut par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    set @date2 = getdate()
      print(convert(varchar,@date2,103))
    Es vraiment pareil ?

    Merci beaucoup pour cette aide

  2. #2
    Membre actif
    Inscrit en
    Février 2009
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 224
    Points : 269
    Points
    269
    Par défaut
    Bonjour,
    Si vous souhaitez une chaine de caractère représentant une date au format jj/mm/aaaa il faut bien utiliser le format 103.

    Votre premier code
    SET @date = convert(varchar,getdate(),103)
    print(convert(varchar,@date,112))
    impose la convertion d'une donnée datetime en chaine de caractère puis cette chaine est de nouveau converti d'ou les soucis.
    Donc oui votre code
    SET @date2 = getdate()
    print(convert(varchar,@date2,103))
    vous donnera affichera la dat du jour au format jj/mm/aaaa et c'est la bonne solution

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    Ok merci pour ces infos

    le premier code avais en faite pour but d'avoir une variable datetime ne contenant que la date, donc l'heure à 00:00:00 ! Cependant cela ne fonctionne plus !

    Alors comment avoir une variable datetime ne contenant que la date et fonctionnement sous SQL SERVER 2000 et 2008 ? donc sans utiliser le type Date.

    Visiblement sous sql server 2008 il n'aime plus le cast d'une variable datetime en varchar !

  4. #4
    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
    DECLARE @date DATETIME
    SET @date = CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME)
    SELECT @date, CONVERT(CHAR(10), @date, 103)
    @++

Discussions similaires

  1. [2008R2] -Probleme Migration sql 2005 vers 2008 R2
    Par debo41 dans le forum Développement
    Réponses: 5
    Dernier message: 04/03/2014, 09h54
  2. Migration SQL 2000/2005 vers 2008
    Par Fabien Celaia dans le forum Administration
    Réponses: 9
    Dernier message: 23/05/2012, 16h21
  3. [SQL-Server] Migration 2005 vers 2008 et mssql_ ne fonctionne plus
    Par arthuro45 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 22/07/2011, 08h58
  4. Migration Visual Studio 2005 vers 2008
    Par trueman dans le forum Visual Studio
    Réponses: 0
    Dernier message: 01/06/2011, 15h41
  5. erreur de link au passage de visual studio 2005 vers 2008
    Par blueLight dans le forum Visual C++
    Réponses: 2
    Dernier message: 21/04/2008, 15h02

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