syntaxe where et différence de 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 : syntaxe where et différence de dates

Re: syntaxe where et différence de dates

par donkeykick » 01 avr. 2016, 12:15

Ok je corrige
INSCRIP_Ad > NOW() - INTERVAL 2 DAY AND INSCRIP_Ad < NOW() - INTERVAL 1 DAY ?

Re: syntaxe where et différence de dates

par Maitrepylos » 01 avr. 2016, 12:10

Hum si tu dis 2 DAY avec la même configuration, tu va aussi attraper ceux de moins de 24h , tu vois c'est pas simple ;)

Re: syntaxe where et différence de dates

par donkeykick » 01 avr. 2016, 12:05

Oui maitre, après je crois en effet que le souci venait du INSCRIP_Ad > NOW() - INTERVAL 1 DAY à la place de INSCRIP_Ad = NOW() - INTERVAL 1 DAY

Je dirai 2 DAY ? :p

Re: syntaxe where et différence de dates

par Maitrepylos » 01 avr. 2016, 11:47

Exactitude quand tu nous tiens.
Tu as des heures dans tes heures.
si tu lances la requête suivante :

Code : Tout sélectionner

SELECT NOW() - INTERVAL 1 DAY from adherents;
Tu verras que ce n'est pas égale à tes lignes insérer, tu dois donc jouer un peu dans ta requête.
Par exemple pour les 24 h je ferais ceci :

Code : Tout sélectionner

SELECT ID_Ad, INSCRIP_Ad FROM adherents WHERE INSCRIP_Ad >= NOW() - INTERVAL 1 DAY
Pour les 48h à toi de chercher un peu ;)

Re: syntaxe where et différence de dates

par donkeykick » 01 avr. 2016, 11:11

Voilà j'ai fait ça :
SELECT ID_Ad, INSCRIP_Ad FROM adherents WHERE INSCRIP_Ad = NOW() - INTERVAL 1 DAY
Avec ce jeu :

Code : Tout sélectionner

-- -- Structure de la table `adherents` -- CREATE TABLE IF NOT EXISTS `adherents` ( `ID_Ad` int(20) NOT NULL AUTO_INCREMENT, `NOM_Ad` varchar(20) NOT NULL, `PRENOM_Ad` varchar(20) NOT NULL, `INSCRIP_Ad` datetime NOT NULL, `PREF_Ad` varchar(20) NOT NULL, PRIMARY KEY (`ID_Ad`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ; -- -- Contenu de la table `adherents` -- INSERT INTO `adherents` (`ID_Ad`, `NOM_Ad`, `PRENOM_Ad`, `INSCRIP_Ad`, `PREF_Ad`) VALUES (1, 'Mortier', 'Emilie', '2016-03-31 23:01:24', '2'), (2, 'Dauney', 'Pascal', '2016-03-31 20:50:03', '3'), (3, 'Cavailles', 'Michel', '2016-02-11 10:00:53', '1');
A chaque fois ça me renvoie résultat vide 8-|

Re: syntaxe where et différence de dates

par Spols » 01 avr. 2016, 11:08

Ok, donc si c'est du MySQL comme ceci

Code : Tout sélectionner

SELECT * FROM table WHERE monChampDate = NOW() - INTERVAL 1 DAY
C'est pas un > qu'il faut plutot que le = ?

Re: syntaxe where et différence de dates

par Maitrepylos » 01 avr. 2016, 10:50

Je peux voir un jeu de données ?

Re: syntaxe where et différence de dates

par donkeykick » 01 avr. 2016, 10:44

Waouh, je ne connaissais pas cette syntaxe.

J'aurai encore fait un truc compliqué ^^

Par contre j'ai testé et ça me renvoie pas de lignes avec mon datetime pourtant inférieur à 24h #-o

Re: syntaxe where et différence de dates

par Maitrepylos » 01 avr. 2016, 10:28

Ok, donc si c'est du MySQL comme ceci

Code : Tout sélectionner

SELECT * FROM table WHERE monChampDate = NOW() - INTERVAL 1 DAY

Re: syntaxe where et différence de dates

par donkeykick » 01 avr. 2016, 10:19

Bonjour Maitre :)

De façon classique un date ou datetime au format YY-mm-dddd.

Re: syntaxe where et différence de dates

par Maitrepylos » 01 avr. 2016, 09:07

Comment gère tu les dates dans ta db ?

syntaxe where et différence de dates

par donkeykick » 01 avr. 2016, 00:28

Salut !

Je cherche la bonne syntaxe pour écrire la condition suivante les personnes qui se sont inscrites il y a 24h, il y a 48h, il y a 72h..?

J'ai lu que les mktime, time etc n'était pas la bonne façon de faire.

strtotime ? On peut gérer dans le select directement ?

do_ok