STR_TO_DATE() ET DATES....

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : STR_TO_DATE() ET DATES....

Re: [RESOLU] STR_TO_DATE() ET DATES....

par zeus » 25 mars 2015, 17:48

Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton "Résolu" situé en haut de la page.

Re: [RESOLU] STR_TO_DATE() ET DATES....

par Pasbonte » 25 mars 2015, 16:14

=D> merci !!!!!!!

Re: STR_TO_DATE() ET DATES....

par Pasbonte » 25 mars 2015, 16:12

j'ai trouvé si cela peut aider qq d'autre:
UPDATE ta_table
SET nouvelle_date = STR_TO_DATE(ancienne_date, '%d/%m/%Y')

Re: STR_TO_DATE() ET DATES....

par tof73 » 25 mars 2015, 16:01

oui affecter au nouveau champ STR_TO_DATE(Quand1,"%d/%m/%Y") plutôt que Quand1

Re: STR_TO_DATE() ET DATES....

par Pasbonte » 25 mars 2015, 15:53

merci pour ces réponses.
Je vais modifier mon champ....j'ai essayé sur une copie de la table de changer mon varchar en date, mais je perds toutes mes données.
Y a une solution dans mysql ?

Re: STR_TO_DATE() ET DATES....

par yann18 » 23 mars 2015, 23:30

j'avoue ne pas comprendre la raison qui te pousse à stocker une date dans un varchar.toutefois tu peux convertir ta chaîne date en type date:

Code : Tout sélectionner

ORDER BY STR_TO_DATE(Quand1,"%d/%m/%Y")
Sinon tu peux aussi créer une vue(une sorte de table virtuelle) à partir de la table.Avec phpmyadmin, tu crées une vue en lançant:

Code : Tout sélectionner

CREATE VIEW ma_vue as select Heures1,Heures1bis, STR_TO_DATE(Quand1,"%d/%m/%Y") FROM retenues;
Dans les scripts php tu interroges la vue à place de table pour afficher les données

Re: STR_TO_DATE() ET DATES....

par zeus » 23 mars 2015, 23:20

Le soucis en faisant un tri sur une transformation de valeur, c'est que c'est très couteux pour le SGBD : il doit parser toute la table, modifier toutes les valeurs, stocker le calcul en mémoire, faire le tri, et retourner les valeurs.

La meilleure solution est de modifier le type du champs.
Si vraiment ce n'est pas possible, tu peux laisser le champs en varchar et créer un autre champ dans le "bon" type, mais je trouve ça un peu étrange :/

Re: STR_TO_DATE() ET DATES....

par Pasbonte » 23 mars 2015, 20:15

13/03/2015 par ex

Re: STR_TO_DATE() ET DATES....

par tof73 » 23 mars 2015, 20:08

sous quelle format se présente la date dans ce champ de texte ?

STR_TO_DATE() ET DATES....

par Pasbonte » 23 mars 2015, 20:05

Bonjour
j'ai un champ varchar avec des dates, pour des raisons internes je ne veux pas modifier ce champ en date.
mais je voudrai trier mes varchar...
je pense que l'on peut le faire avec des STR_TO_DATE() mais je ne sais pas ou commencer...
mon champ "date" est Quand1;
j'ai essayé ça avec des replace mais cela ne fonctionne pas... :oops:
$sql = 'SELECT count(Quand1) DESC,Heures1,Heures1bis,Quand1'
. ' FROM retenues '.$clause
. ' group by Quand1,Heures1 '
. ' ORDER BY (replace(Quand1,"/","")) DESC,Heures1 DESC limit 0,20';
une idée ?
merci