Visualizzazione dei risultati da 1 a 10 su 10

Discussione: ancora differenza date

  1. #1
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922

    ancora differenza date

    Ciao a tutti. Ho appena installato la nuova versione di mysql per poter usare la funzione datediff.
    Vorrei fare una semplice (si fa per dire) query per visualizzare gli impegni della settimana. La mia query è:

    select * from eventi where datediff(dataImpegno,current_date()) <= 7 order by dataImpegno asc

    Per quale motivo mi restituisce come valida anche la data in cui l'impegno è 2005-05-17?

    Ho provato anche con la query
    SELECT * from eventi where DAYOFYEAR(dataImpegno) - DAYOFYEAR(current_date()) <= 7 order by dataImpegno asc

    ma ho ottenuto lo stesso identico risultato.
    Qualche suggerimento?

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    datdiff lavora in che senso ? più o meno ? Meglio... puo' ritornare un valore negativo ? Questo spiegherebbe il tuo problema.

    Potresti comunque aggiungere alla clausola where ...

    dataImpegno >= current_date()

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non saprei.Ora guardo il sito di mysql.

  4. #4
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    datediff(2005-05-17,2005-06-01) = -15 che è minore di 7.

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ho fatto direttamente una prova.
    Nel caso in cui la seconda data sia successiva alla prima restituisce un valore negativo.
    Es:
    select datediff('2005-05-17','2005-05-18');
    mi restituisce -1

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da Teuzzo
    datediff(2005-05-17,2005-06-01) = -15 che è minore di 7.
    quindi lui deve aggiungere ...

    datediff(dataImpegno,current_date()) between 0 and 7

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    scusa teuzzo.Ho postato senza rendermi conto del tuo messaggio.
    Hai ragione. Quindi come posso ovviare?

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da nicola75ss
    scusa teuzzo.Ho postato senza rendermi conto del tuo messaggio.
    Hai ragione. Quindi come posso ovviare?
    Come l'ho indicato

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ops.Si vede che mentre scrivo rispondete.
    Ho provato e funziona perfettamente.
    Sei un grande badaze.
    MIlle grazie.

  10. #10
    Segnalo la pillola... sui "temporali" della versione 4.1.x...

    puo' sempre servire....

    http://forum.html.it/forum/showthrea...hreadid=839754


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.