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

MS SQL Server Discussion :

Mettre format date en français


Sujet :

MS SQL Server

  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    528
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 528
    Par défaut Mettre format date en français
    Bonjour à tous,

    j'ai installé SQL Server Express R2 en français et tout s'est passé correctement. Cependant les dates sont au format anglais alors que le SQL Server que j'ai installé est en français. Savez-vous comment puis-je faire pour mettre par défaut les dates au formats français s'il vous plaît?

    NB: Les paramètres régionaux de mon pc sont sur casablanca. Mon Windows est en français.

    Merci d'avance.

    Cordialement.

  2. #2
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Que vous retourne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXEC sp_configure 'default language'
    Que vous donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ISDATE('23/01/2012')
    ++

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    528
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 528
    Par défaut
    Bonjour mikedavem et Merci pour votre intérêt. La 1ère requête retourne ceci :

    1 defaultlanguage 0 9999 2 2

    Et la seconde retourne :

    1 1

    Merci d'avance pour votre aide.

    Cordialement.

  4. #4
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Ok donc en réalité c'est l'affichage de la date qui vous perturbe. SQL Server affichera toujours la date dans le standard international. C'est à vous de changer ceci par les fonctions adéquates mais personnellement je ne vois pas ce que cela vous apportera.

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT convert(varchar, getdate(), 103)
    ++

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    528
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 528
    Par défaut
    Merci mikedavem pour la rapidité de la réponse. En fait, comme vous l'avez si bien compris, c'est le format qui me dérange. En effet, je n'arrive pas à faire une opération between entre la date qui se trouve dans la table (datefichesuivi) et qui est au format anglais et deux date txtdatedebut et txtdatefin (qui se trouvent dans des textbox) qui elles sont au format français. Avez-vous une idée sur la requête s'il vous plaît?

    Voici ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * From tfichesuivi F, ttypesortievehicule T, temploye E, tvehicule V  Where F.numtypesortievehicule = T.numtypesortievehicule 
    and F.numemploye = E.numemploye and F.numvehicule = V.numvehicule 
    and  datefichesuivi between convert(datetime,'" & txtdatedebut.Text & "',103) AND convert(datetime,'" & txtdatefin.Text & "',103)
    Le résultat de ma requête est incorrect car à mon humble avis il y a un problème dans la conversion de txtdatedebut et de txtdatefin.

    et lorsque j'utilise 101 ou 102 à la place de 103 j'ai l'erreur :
    [Microsoft][ODBC SQL Server Driver][SQL Server]La conversion d'un type de donnée varchar en type de données datetime a créé une valeur hors limite.
    Merci d'avance pour votre très précieuse aide.

    Cordialement.

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 193
    Par défaut
    une date, que ca soit sur sql server ou sur votre langage (vb.net à vu de nez) ce n'est pas un string, c'est une représentation binaire comaptible entre les 2

    concernant la correspondance en string qu'en fait sql server, on peut le définir sur les propriétés de la connexion (le user en gros), il faut mettre francais et le format changera

    par contre niveau code du programme vous n'êtes pas bon du tout
    pour que l'utilisateur choisisse une date, utiliser un textbox est étrange, il faut un datetimepicker
    et quand on a une date sur le programme et qu'on doit l'utiliser dans une requete, il faut l'envoyer en tant que date, et non pas en tant que string
    car sinon d'une base de données à l'autre, et d'un pc à l'autre vous aurez un jour un problème
    il faut alors passer la date en paramètres (si vous etes sur vb.net voir la classe sqlparameter et la propriétés parameters sur la classe sqlcommand, au passage si vous etes sur du vb.net, passer par ODBC n'est pas génial ...)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    528
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 528
    Par défaut
    Bonjour à tous et Merci pour votre intérêt,

    j'ai ne sais plus pourquoi mais mon ancienne requête marche bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM tfichesuivi F, ttypesortievehicule T, temploye E, tvehicule V  WHERE F.numtypesortievehicule = T.numtypesortievehicule 
    AND F.numemploye = E.numemploye AND F.numvehicule = V.numvehicule 
    AND  datefichesuivi BETWEEN convert(datetime,'" & txtdatedebut.Text & "',103) AND convert(datetime,'" & txtdatefin.Text & "',103)
    Encore Merci et prenez bien soin de vous.

    Cordialement.

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

Discussions similaires

  1. Format date (anglais / français)
    Par delavega dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/01/2012, 14h39
  2. [phpMyAdmin] Format DATE en français par défaut
    Par fchevali dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 07/05/2008, 09h52
  3. Pb format date anglais/Français
    Par VBBBA dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/07/2007, 21h46
  4. [VB6]Aide pour mettre format date avec inputbox
    Par Geliwy77 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 28/01/2006, 20h13
  5. Format Date Anglais/Français
    Par macben dans le forum Oracle
    Réponses: 4
    Dernier message: 22/08/2005, 10h12

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