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 :

Format de date à changer [2012]


Sujet :

Développement SQL Server

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Format de date à changer
    Bonjour à vous tous,

    Je cherche depuis tout à l'heure la solution à un problème de date, sans succès.

    Je possède une base une données sous MS-SQL 2012, les données de type datetime sont sous la forme suivante: "AAAA-MM-JJ 00:00:00.000" exemple: "2014-10-24 00:00:00.000"

    Quand j'exécute la requête suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * from dbo.LIGNE
    
    where GL_DATE='24-10-2014'
    J'obtiens ce message d'erreur:
    "The conversion of a varchar data type to a datetime data type resulted in an out-of-range value."
    Mais en modifiant la requête à:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * from dbo.LIGNE
    
    where GL_DATE='10-24-2014'
    Ça fonctionne parfaitement.

    Comment pourrai-je modifier ma base de telle manière à accepter les formats JJ-MM-AAAA ?

    PS: j'ai essayé un truc du genre "select convert(char(10), getDate(), 103)" mais ça n'a pas fonctionné.

    Merci à vous,

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Full-stack
    Inscrit en
    Novembre 2010
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Full-stack

    Informations forums :
    Inscription : Novembre 2010
    Messages : 372
    Points : 489
    Points
    489
    Par défaut
    Bonsoir,

    Avant de poster sur le forum, il est bon de consulter les règles postage du forum disponible ici (regles-postage-forum-lire-imperativement-poster). Il faudra mettre les codes dans des balises codes #, de sorte à faciliter la lecture du post. Je viens d'effectuer la mise en forme de ton code (voir ci dessous)
    Citation Envoyé par Sobhi9009 Voir le message
    Bonjour à vous tous,

    ...

    Je possède une base une données sous MS-SQL 2012, les données de type datetime sont sous la forme suivante: "AAAA-MM-JJ 00:00:00.000" exemple: "2014-10-24 00:00:00.000"

    Quand j'exécute la requête suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * from dbo.LIGNE
    
    where GL_DATE='24-10-2014'
    J'obtiens ce message d'erreur: "The conversion of a varchar data type to a datetime data type resulted in an out-of-range value."

    Mais en modifiant la requête à:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * from dbo.LIGNE
    
    where GL_DATE='10-24-2014'
    Ça fonctionne parfaitement.

    Comment pourrai-je modifier ma base de telle manière à accepter les formats JJ-MM-AAAA ?

    PS: j'ai essayé un truc du genre "select convert(char(10), getDate(), 103)" mais ça n'a pas fonctionné.

    Merci à vous,
    Pour faire une requête avec ton format sélectionné, il faudrait plutôt faire :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from dbo.LIGNE where CONVERT(NVARCHAR,GL_DATE,105)='24-10-2014'
    Quant à insérer dans ce format, il te faudra vérifier si la langue d'installation de SQL SERVER accepte le format en question où vérifie si la langue est FR. Vérifiable en faisant clic droit sur le serveur --> Propriétés--> options Avancé -->Langue par défaut. tu pourras faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO dbo.LIGNE (...,GL_DATE,..) VALUES (...,'24-10-2014',...)
    Voici un tuto où tu pourrais en apprendre plus.http://baptiste-wicht.developpez.com...rver/datetime/

    Merci
    La recherche de la connaissance est une Lumière qui apaise le Cœur.
    Si une réponse vous a été utile , n'oubliez pas de voter en cliquant sur:.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    Il n'existe pas de "format" de date. Une date est un type de données. Lisez ceci : http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L7

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Merci "Alexandre le grand" et "SQLpro" pour vos interventions efficaces. J'en suis reconnaissant.

    Pour ceux qui sont dans le même problème que le mien, il y a maintes solutions pour convertir la date au format souhaité.

    Pour une conversion instantanée, la requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CONVERT(NVARCHAR,GL_DATE,105)='24-10-2014'
    fonctionne très bien.

    Mais pour ceux qui veulent utiliser le même format de date à chaque fois, il existe une solution beaucoup plus simple (Merci SQLpro pour la doc), qui consiste à exécuter la requête suivante sur la base de données concernée:


    où DMY veut dire: DAY MONTH YEAR (jour mois année). Et qui pourrai bien être modifié par MDY, YDM, YMD ...

    Sur ce, je vous dis bonne journée

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

Discussions similaires

  1. Comment changer le format de DATE dans Oracle
    Par khanfir dans le forum Oracle
    Réponses: 3
    Dernier message: 20/04/2010, 19h55
  2. Changer le format de date de SharePoint
    Par zghidi dans le forum SharePoint
    Réponses: 1
    Dernier message: 29/08/2007, 09h44
  3. [DATE] Changer format Date Java
    Par R1pToR dans le forum Struts 1
    Réponses: 5
    Dernier message: 09/07/2007, 14h31
  4. [Dates] changer le format d'une date.
    Par maraly dans le forum Langage
    Réponses: 3
    Dernier message: 24/01/2007, 16h17
  5. Changer le format de date en dd/mm/yy
    Par polianita dans le forum Access
    Réponses: 6
    Dernier message: 21/08/2006, 14h26

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