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 format de date


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut Problème de format de date
    Bonjour,

    Voici un problème que je qualifierais du troisième type ...

    Nom : 2019-02-28_18h05_55.png
Affichages : 5997
Taille : 27,7 Ko

    Comme vous pouvez le constater j'ai tenté de requêter cette table du 10 au 11 janvier 2017. La deuxième version de ma requête est juste un changement de ORDER BY.

    Et comme vous pouvez le constater la Base d'Audit (SAP Business Objects) me ramène des résultats entre le 1er octobre et le 1er novembre !

    Une idée ?

    Je suis bien sûr en contact également avec le Support SAP, mais pour l'instant il botte en touche ...

  2. #2
    Invité
    Invité(e)
    Par défaut
    Ça ressemble à problème de formatage US vs Fr...

    Si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    between CAST('2017-01-10' as DATETIME) and CAST('2017-01-11' as DATETIME)
    Est-ce que c'est mieux ?

    Sinon, c'est quoi le type de ta colonne ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut
    Pas mieux ...

    Le type de cette colonne : datetime.

    Et pour info, ce SQL Server est en classement French_CI_AS et en langue Français (France). Et toutes mes Bases sont sur une même et unique instance.

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    bonjour

    Utilisez le format ISO pour les littéraux date : '2017-10-01T00:00:00',

    Vous pouvez aussi modifier le format de date avec SET DATEFORMAT, mais attention aux effets de bords sur l'existant.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 999
    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 999
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par aieeeuuuuu Voir le message
    bonjour

    Utilisez le format ISO pour les littéraux date : '2017-10-01T00:00:00',

    Vous pouvez aussi modifier le format de date avec SET DATEFORMAT, mais attention aux effets de bords sur l'existant.
    Non, pas tout à fait.....

    Le format ISO SQL était AAAAMMJJ hh:mm:ss.nnnnnnnn... avant la norme de 1999.
    Si le type est du DATETIME, donc créé avant la norme, il faut utiliser cette expression.
    À partir de la norme SQL 1999, le format est devenu AAAA-MM-JJ hh:mm:ss.nnnnnnnn...
    Pour les dates exprimées dans du XML, le format ISO est AAAA-MM-JJThh:mm:ss.nnnnnnnn... l'expace étant remplacé par le T

    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/ * * * * *

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Par défaut
    Bonjour,

    Je ne suis pas un grand spécialiste de SQL serveur mais si tu regardes mon post d'hier, j'ai eu aussi un problème d'inversion entre le mois et jour dans une date.

    Et ceci provenait de la différence de langue entre ce que tu écris dans ta requête et ton système.

    Soit tu inverses les mois et les jours dans ta requête.

    Soit tu modifie la langue de ton système :
    - avec ça : SET DATEFORMAT dmy;
    - ou peut-être aussi regarde la langue du user sur lequel tu es connecté à SQL server

  7. #7
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Non, pas tout à fait.....

    Le format ISO SQL était AAAAMMJJ hh:mm:ss.nnnnnnnn... avant la norme de 1999.
    Si le type est du DATETIME, donc créé avant la norme, il faut utiliser cette expression.
    À partir de la norme SQL 1999, le format est devenu AAAA-MM-JJ hh:mm:ss.nnnnnnnn...
    Pour les dates exprimées dans du XML, le format ISO est AAAA-MM-JJThh:mm:ss.nnnnnnnn... l'expace étant remplacé par le T

    A +
    Bonjour,

    Mon problème est que je ne peux pas retoucher la date de ma requête puisqu'elle est générée par Business Objects !

    Concernant le format, je constate ça :

    KO (requête d'origine) => La conversion d'un type de données varchar en type de données datetime a créé une valeur hors limites.
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT top 1 Event_ID, Start_Time FROM ADS_EVENT WHERE Start_Time < '2017-05-31 00:00:00' 
    order by Start_Time desc


    KO également ... malgré le respect de la norme !? => Échec de la conversion de la date et/ou de l'heure à partir d'une chaîne de caractères.
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT top 1 Event_ID, Start_Time FROM ADS_EVENT WHERE Start_Time < '2017-05-31 00:00:00.0000000' 
    order by Start_Time desc


    OK !
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT top 1 Event_ID, Start_Time FROM ADS_EVENT WHERE Start_Time < '2017-05-31T00:00:00' 
    order by Start_Time desc

    OK, malgré le nom respect de la norme !
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT top 1 Event_ID, Start_Time FROM ADS_EVENT WHERE Start_Time < '20170531 00:00:00' 
    order by Start_Time desc

Discussions similaires

  1. [débutant]Probléme de format de date
    Par Greg84 dans le forum Access
    Réponses: 2
    Dernier message: 10/08/2006, 14h31
  2. Problème de format de date par défaut
    Par anitshka dans le forum Langage
    Réponses: 4
    Dernier message: 31/07/2006, 12h22
  3. Problème de format de date
    Par pilou0013 dans le forum Access
    Réponses: 2
    Dernier message: 11/06/2006, 22h56
  4. [VB.net] problème de format de date
    Par cladsam dans le forum Windows Forms
    Réponses: 4
    Dernier message: 11/10/2005, 18h27
  5. Problème de Format de date
    Par titititi007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2003, 08h19

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