Comparer des chaines de caractères comme des nombres

Signaler
Messages postés
249
Date d'inscription
lundi 9 novembre 2009
Statut
Membre
Dernière intervention
2 mars 2020
-
Messages postés
29204
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 août 2020
-
Salut,
J'ai à comparer des nombres malheureusement stockés sous forme de chaînes de caractères
Est-il possible de comparer par exemple 20140315081034 à 20140412102515 comme ceci:
SELECT COUNT(result) FROM qc_res  WHERE  DATETIMERES < 'DatetimeresstrMax' AND DATETIMERES > 'DatetimeresstrMin'


DATETIMERES étant une date longue stockée en VARCHAR
DatetimeresstrMax et DatetimeresstrMin étant des variables string
(toutes deux par exemple 20140315081034)

Malheureusement je n'y arrive pas
Qui peut m'aider?


Merci d'avance

2 réponses

Messages postés
29204
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 août 2020
335
Bonjour,

Avec quelle BDD ?? ( Mysql.. SqlServer... ?)

Sous Mysql tu peux utiliser date_format couplé à str_to_date

Mais bon... Stocker des dates dans des Varchar est une grosse erreur de conception... il faut vraiment éviter !
Messages postés
249
Date d'inscription
lundi 9 novembre 2009
Statut
Membre
Dernière intervention
2 mars 2020

Merci Jordane45 ;-)
C'est avec MySQL
Peux-tu m'envoyer une ligne de code en exemple avec ta proposition?
Merci d'avance :)
Messages postés
29204
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 août 2020
335
voici un exemple (à adapter à ton format)
http://stackoverflow.com/questions/4706289/mysql-convert-varchar-to-date

date_format(str_to_date('20141105', '%Y%m/%d%H%i%s'), '%Y%m%d%H%i%s'); 


Si besoin...D'autres sont disponibles sur le net... google est ton ami ^^