Limit DATE

  • Creatore Discussione Creatore Discussione miagy
  • Data di inizio Data di inizio

miagy

Utente Attivo
2 Nov 2014
83
1
8
Ciao ragazzi :o

Data questa funzione

PHP:
SELECT * FROM Tabella WHERE Ora > DATE_SUB(CURDATE(), INTERVAL 1 DAY)

che sostanzialmente mi stampa i risultati delle ultime 24 ore dal momento in cui si clikka/apre la pagina, mi domandavo se esistesse una funzione più particolare, con un arco temporale ben preciso.
Obiettivo mio è quello di stampare sì i risultati ogni 24 ore, ma non dal momento che si clikka ma dalle 00:00:00 alle 23:59:59.

E' forse possibile? Ho aperto i miei cinque libri e ho rivoltato google ma non ho trovato nulla. :crying:
 
Ultima modifica:
In questo modo puoi selezionare quelle comprese tra la differenza di due "date" precise..

PHP:
DATEDIFF('2014-11-30','2014-11-29')

Il
dal momento che si clikka
è dato dal "CURDATE()" che identifica la data di oggi.
 
In questo modo puoi selezionare quelle comprese tra la differenza di due "date" precise..

PHP:
DATEDIFF('2014-11-30','2014-11-29')

Il è dato dal "CURDATE()" che identifica la data di oggi.

Ti ringrazio per la risposta :)
Avevo pensato anche io al "DATEDIFF" ma, per questa richiesta specifica, non mi è utile in quanto io dovrei stampare i risultati ogni 24 ore (dalle 00:00:00 alle 23:59:59) di ogni giorno, per ogni singolo giorno e non di una data specifica (quelli di ieri, ad esempio, verrebbero automaticamente archiviati).
Non so se ho reso l'idea.
Un qualcosa come (uso il DATEDIFF come esempio, anche se logicamente sbagliato)

PHP:
DATEDIFF('00:00:00','2359:59' > di questo giorno. l'attuale)
 
Ultima modifica:
E se stampassi a 00:01 del giorno dopo i risultati che riportano la data del giorno prima?


Saluti.
G.G.
 
E se stampassi a 00:01 del giorno dopo i risultati che riportano la data del giorno prima?


Saluti.
G.G.

Io in realtà stavo pensando a due soluzioni, ma non so quanto siano "logiche":

PHP:
SELECT *
FROM Tabella
WHERE Ora >= DATE_SUB(CURDATE(), INTERVAL 2 DAY) 
AND Ora < DATE_SUB(CURDATE(), INTERVAL 1 DAY)

Oppure usare BETWEEN ... AND. Soloche in questo caso gli estremi sarebbero inclusi.


PHP:
SELECT *
FROM Tabella
WHERE Ora BETWEEN DATE_SUB(CURDATE(), INTERVAL 2 DAY)  AND DATE_SUB(CURDATE(), INTERVAL 1 DAY)
 
Perdonami forse non ho capito bene cosa devi estrarre, ma potresti fare una semplice query come ti ho detto prima aggiungendo al where che il time deve essere diverso da 00:00:00 magari separi ora e data in due campi


Saluti.
G.G.
 
ciao,

credo che sia importante per prima cosa chiarire come definisci il giorno da stampare,
tu conosci il processo,
hai scritto che i messaggi del giorno precedente vengono archiviati
quindi quando stampi e come definisci il giorno da stampare ?

appena è chiara la regola con cui definire il giorno, si potrà trovare una soluzione

ciao
Marino
 
Ultima modifica:

Discussioni simili