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

Outils MySQL Discussion :

Tri de dates au format texte


Sujet :

Outils MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15
    Points : 13
    Points
    13
    Par défaut Tri de dates au format texte
    Je ne parviens pas à convertir les champs texte DATE_1, DATE_2 en date pour qu'ils ne se trient pas alphabétiquement.

    SELECT Numero, TITRE, DATE_1, DATE_2 FROM Rapport WHERE ... ORDER BY DATE_1 ASC");

    J'ai essayé en remplaçant DATE_1 par ceci :

    CAST(DATE_1 AS DATE)
    Erreur de syntaxe (opérateur absent) dans l'expression 'CAST(DATE_1 AS DATE)'.

    CONVERT( DATE, DATE_1, 101 )
    Fonction 'CONVERT' non définie dans l'expression

    Si quelqu'un a la solution...merci à lui!

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Bonjour,

    Avec MySQL >= 4.1 : STR_TO_DATE()

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Merci, à vrai dire je ne sais pas la version de MySQL dont il s'agit mais elle n'accepte non plus cette f°.

    erreur : javax.servlet.ServletException: [Microsoft][Pilote ODBC Microsoft Access] Fonction 'STR_TO_DATE' non définie dans l'expression.

  4. #4
    Membre expérimenté
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Points : 1 351
    Points
    1 351
    Par défaut
    Bonjour,

    As-tu tenter de faire une brutale comparaison à grand coup de SUBSTRING pour palier au manque ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    L'idée semble bonne mais lorque j'essaye, il me renvoie

    javax.servlet.ServletException: [Microsoft][Pilote ODBC Microsoft Access] Fonction 'SUBSTRING' non définie dans l'expression.

    Pour une raison qui m'échappe, dès qu'une fonction est un peu évoluée elle semble inconnue!

  6. #6
    Membre expérimenté
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Points : 1 351
    Points
    1 351
    Par défaut
    Là, il faut vraiment connaitre la version.

    Essaies dans un premier temps de te connecter au serveur mysql et de refaire la requête directement depuis un client MySQL. MySQL Query Browser ou le client en ligne de commande sont de bonnes références. Là, observe le résultat pour voir s'il y a effectivement la même erreur. Si tel n'est pas le cas, le problème viendrait du middleware. La solution serait de passer par une fonction SQL équivalente (SUBSTR peut être).

    Ensuite, tu peux connaitre la version du serveur en lançant la requête SELECT VERSION().

  7. #7
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    [Microsoft][Pilote ODBC Microsoft Access]
    Ca me semble louche. C'est vraiment une base MySQL à l'autre bout ?
    A moins que le pilote ODBC ne soit pas le bon.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Il s’agit d’une db access et il semble que ce soit limité parce que dès que j’essaie une f°, je reçois un message du type : Fonction 'xxx' non définie dans l'expression. Je ne peux même pas exécuter VERSION() pour répondre à Adjanakis.

  9. #9
    Membre expérimenté
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Points : 1 351
    Points
    1 351
    Par défaut
    Forcément, c'est une fonction réservée à mysql. Je ne connais pas les équivalents Access mais à croire e site de sqlpro, il n'est pas évident de le trouver. Si un modérateur passe, ce serait peut-être pas mal de déplacer le sujet...

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    J'ai enfin trouvé la cause du problème. Il faut utiliser CDate mais ça ne fonctionne qu'à condition que TOUS les enregistrements puissent être convertis (pas vides dans mon cas)

    SELECT NUMERO, DATE_EN, DATE_VAL FROM ETHIC WHERE DATE_EN <> '' ORDER BY CDATE([DATE_EN])

    Merci à ceux qui ont pris la peine de me répondre.

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

Discussions similaires

  1. [XL-2003] Dates en Format texte à convertir en format dates
    Par graphikris dans le forum Excel
    Réponses: 2
    Dernier message: 18/12/2012, 18h42
  2. [AC-2010] Requête sur une plage de date au format texte
    Par shakapouet dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 26/07/2012, 17h05
  3. Comparer deux dates au format TEXT
    Par ptilemare dans le forum Requêtes
    Réponses: 6
    Dernier message: 16/07/2010, 23h39
  4. [MySQL] Comparaison de date au format texte dans requete mysql
    Par doudoustephane dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 22/04/2008, 17h27
  5. Tri de date à partir de texte
    Par Sniper Fou dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 24/07/2007, 13h14

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