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 :

Problème de conversion de varchar en smalldatetime [2014]


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Points : 85
    Points
    85
    Par défaut Problème de conversion de varchar en smalldatetime
    Bonjour à tous,

    j'ai un problème suite à une migration de base de SQL Server 2008 --> SQL server 2014.

    2 bases migrées (base1 et base2), les 2 ont une collation French_CI_AS, les 2 sont en mode compatibilité 100 (SQL server 2008).

    Dans base1 :
    une table que l'on appellera "Table1" à une champ "date1" de type smalldatetime
    je lance la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    update [table1]
    set date1='01/05/2014'
    where num=999
    La requête se déroule sans problème

    Dans base2 :
    une table que l'on appellera "Table2" à une champ "date2" de type smalldatetime
    je lance la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    update [table2]
    set date2='01/05/2014'
    where num=999
    j'ai cette erreur :
    The conversion of a varchar data type to a smalldatetime data type resulted in an out-of-range value


    Auriez-vous une idée du problème car là je ne comprend pas.

    Merci d'avance de vos réponses pour m'aider à résoudre ceci.

    David

  2. #2
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Points : 85
    Points
    85
    Par défaut
    Correction :

    En fait le problème n'est pas là.

    je viens de me rendre compte que les 2 requêtes indiquées dans mon post fonctionne.

    Et les 2 requêtes ne fonctionne pas dans les 2 bases si je lance :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pdate [table1]
    set date1='28/05/2014'
    where num=999
    Car apparemment le mois et jour de la date sont inversés pour le système (mm/jj/aaaa), et comme il n'existe pas de mois 28, cela plante pour les 2 bases.

    Je ne pourrais pas modifier toutes les applications qui utilisent ces bases.
    Donc la question est :
    Que faut-il modifier sur le nouveau serveur sur lequel les bases ont été migrées pour que sql serveur comprenne que la date 28/05/2014 est du format jj/mm/aaaa et pas mm/jj/aaaa ?

    Merci pour vos réponses.

    David

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Points : 85
    Points
    85
    Par défaut
    J'ai trouvé.

    Il s'agissait de la langue du user de connexion à la base de données.


  4. #4
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 416
    Points
    1 416
    Par défaut
    Il est conseillé d'utiliser la fonction CONVERT() : https://docs.microsoft.com/fr-fr/sql...t-transact-sql
    Le savoir est une nourriture qui exige des efforts.

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Points : 85
    Points
    85
    Par défaut
    Probablement mais quand il y a 10 ans de développement web et diverses autres applications qui interrogent cette base ce n'était pas envisageable.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/08/2015, 17h34
  2. Réponses: 3
    Dernier message: 15/10/2010, 05h02
  3. [TSQL]Problème de conversion de varchar en float
    Par supertom dans le forum Adaptive Server Enterprise
    Réponses: 3
    Dernier message: 20/06/2008, 11h56
  4. Problème Conversion REAL --> VARCHAR
    Par YOYOVbSQL dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/03/2006, 18h03
  5. Réponses: 11
    Dernier message: 02/09/2003, 14h20

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