|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jun 2008
Messaggi: 159
|
[Mysql] Ricerca tra intervalli di date
Sto sviluppando uno script che calcola il preventivo per un'agenzia di viaggi.
Come sapete il prezzo cambia in base alla stagione. Nel database ho date_from - date_to 2009-05-02 | 2009-05-09 2009-04-11 | 2009-04-18 2009-04-18 | 2009-04-25 2009-04-25 | 2009-05-02 2009-05-02 |2009-05-09 2009-05-09 | 2009-05-16 2009-07-04 | 2009-07-11 2009-07-11 | 2009-07-18 Insomma tutti intervalli di date, ogni riga ha un certo ID, quello che devo fare io è ricavare tutte righe che includano i periodi di vancanza scelti dal cliente. Ho provato con SELECT * FROM `packages` WHERE `date_from` >='2009-05-01' and `date_to` <= '2009-07-15' Ma in questo caso non ottengo l'ultima riga del database, ovvero l'intervallo 2009-07-11 | 2009-07-18 questo perchè 2009-07-11 è si >= di '2009-05-01' ma 2009-07-18 NON è <= a '2009-07-15'. Come faccio ad includere anche questo risultato? Sbaglio la query? |
|
|
|
|
|
#2 | |
|
Member
Iscritto dal: Dec 2008
Messaggi: 82
|
Quote:
ma i due campi sono delle stringhe o dei datetime ? se son stringhe....auguri... hihi, altrimenti ci sono le funzioni apposta per confrontare datetime... mi sembra si chiami dateDiff... cerca un pò su google l'altra soluzione e inserire i campi delle date nel db come il numero di giorni dal 1 gennaio 1970 ( è una data standard per la ocnversione delle date )... a quel punto diventa facile fare i confronti
__________________
Software house Manfriday |
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jun 2008
Messaggi: 159
|
certo che sono in datetime. Comunque datetime o timestamp cambia poco.
Il mio problema è + complesso, non so' come spiegarlo bene. provate a rileggere bene il primo post |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Dec 2008
Messaggi: 82
|
ah sorry...
così ad occhio direi che devi mettere date_from anche nella seconda condizione `date_from` <= '2009-07-15' magari mettila con il < e basta così quando sei al limite superiore non ti ricade nella settimana dopo, se è quello l'intento
__________________
Software house Manfriday |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:48.




















