Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/08/2006, 11h47   #1
Invité régulier
 
Inscription : octobre 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 15
Points : 9
Points : 9
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!
stem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2006, 11h56   #2
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Bonjour,

Avec MySQL >= 4.1 : STR_TO_DATE()
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2006, 12h24   #3
Invité régulier
 
Inscription : octobre 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 15
Points : 9
Points : 9
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.
stem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2006, 13h39   #4
Membre Expert
 
Avatar de Adjanakis
 
Inscription : avril 2004
Messages : 734
Détails du profil
Informations personnelles :
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations forums :
Inscription : avril 2004
Messages : 734
Points : 1 281
Points : 1 281
Bonjour,

As-tu tenter de faire une brutale comparaison à grand coup de SUBSTRING pour palier au manque ?
__________________
Pensez au tag
Adjanakis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2006, 14h49   #5
Invité régulier
 
Inscription : octobre 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 15
Points : 9
Points : 9
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!
stem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 10h33   #6
Membre Expert
 
Avatar de Adjanakis
 
Inscription : avril 2004
Messages : 734
Détails du profil
Informations personnelles :
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations forums :
Inscription : avril 2004
Messages : 734
Points : 1 281
Points : 1 281
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().
__________________
Pensez au tag
Adjanakis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 12h36   #7
Membre Expert
 
Avatar de Sivrît
 
Inscription : février 2006
Messages : 953
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2006
Messages : 953
Points : 1 189
Points : 1 189
Citation:
[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.
Sivrît est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 13h36   #8
Invité régulier
 
Inscription : octobre 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 15
Points : 9
Points : 9
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.
stem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 13h54   #9
Membre Expert
 
Avatar de Adjanakis
 
Inscription : avril 2004
Messages : 734
Détails du profil
Informations personnelles :
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations forums :
Inscription : avril 2004
Messages : 734
Points : 1 281
Points : 1 281
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...
__________________
Pensez au tag
Adjanakis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2006, 17h47   #10
Invité régulier
 
Inscription : octobre 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 15
Points : 9
Points : 9
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.
stem est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h54.


 
 
 
 
Partenaires

Hébergement Web