Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21

Discussione: [MySQL] query su date

  1. #11
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da flacchio
    raga!!! come cavolo è la sintassi per usare due between?
    Poichè aggiungere 7 giorni ad una data potresti cambiare mese forse ti conviene utilizzare un'altro sistema.
    Così dovrebbe tenere conto anche se aggiungendo 7 giorni cambi di mese.

    SELECT MONTH(birthday) AS mese, DAYOFMONTH(birthday) AS giorno
    FROM tabella
    WHERE birthday BETWEEN NOW() AND NOW() + INTERVAL 7 DAY

    Se non ti piace between:

    WHERE birthday >= NOW() AND birthday <= NOW() + INTERVAL 7 DAY.




    Edit.: contento? non era una lite... non ho capito il significato del post.

  2. #12
    ma questo funziona solo se sei nato nel 2004....now() nn va bene...

    mi dite come è la sintassi per fare due between di fila? :master:

  3. #13
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da flacchio
    ma questo funziona solo se sei nato nel 2004....now() nn va bene...

    mi dite come è la sintassi per fare due between di fila? :master:
    Vero pure questo. Non lo avevo considerato. Due between di fila si fanno unendoli con una AND qualsiasi. Ma mi sfugge il perchè. Al limite chiudile fra parentesi ma non credo serva. Faccio una prova per la tua query.

  4. #14
    MA VIEEEEEEEEEEEENNIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIII

    ECCO COME FARE!
    Con DAYOFYEAR!!!!!!!!!!!!!!!!!!!!

    eccovi la query:

    Codice PHP:
    $query mysql_query("SELECT * FROM utenti1 WHERE DAYOFYEAR(birthdate) BETWEEN DAYOFYEAR(NOW()) AND DAYOFYEAR(NOW() + INTERVAL 7 DAY)"); 

  5. #15
    allora...pensadoci credo che rimarro fregato con quella query negli anni bisestili....
    inoltre non capisco perchè ma la query non include i giorni odierni. quindi se compiete oggi il compleanno non venite segnalati.
    il che mi va bene ma nn capisco il motivo.... between non dovrebbe agire come: min <= value => max

    o sbaglio??

    se cmq volete far si che la query vada bene per i compleanni di oggi suppongo sia sufficiente aggiungere

    - INTERVAL 1 DAY

    ciao a tutti

  6. #16
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    L'ho tolta perchè la tua è più semplice e quindi migliore.


  7. #17
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    C'è pure oggi. Non hai ancora girato la pagina del tuo calendario.

    Oggi ne abbiamo 27. Almeno da oltre un'ora.


  8. #18
    il mio calendario si gira da solo! e è su 27

    cmq ho questi utenti:
    flacchio "2004-08-01"
    pastulloso "1987-07-27"

    pastulloso non compare nella query precedentemente postata... :master:

    il che è perfetto per me perchè io scrivo così:

    Compleanni di oggi:
    pastulloso
    Compleanni della prossima settimana:
    flacchio

    però è strano...
    magari è una cavolata o magari è un.... BUG! VVoVe:

    cmq se qualcuno me lo sa dire mi farebbe un favore...più cose si sanno meglio è no?

  9. #19
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Ho rimuginato su. Sia quella che avevo preparato io sia la tua corrente hanno un bug. Non tiene conto dell'anno bisestile la tua, non tiene conto che cambiando mese i giorni ricominciano da 1 la mia (quella che ho cancellato).

    Ma insisto a trovare una soluzione.

  10. #20
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    L'uovo di Colombo. l'anno non interessa, quindi dedichiamo l'attenzione ai soli mesi/giorno.
    codice:
    SELECT *
    FROM utenti1
    WHERE DATE_FORMAT(birthdate, '%m%d')
    BETWEEN 
    DATE_FORMAT(now(), '%m%d') 
    AND 
    DATE_FORMAT(NOW() + INTERVAL 7 DAY,'%m%d')
    Prendiamo mese-giorno come fosse un numero unico quindi con questa query prendiamo tutti i dati dove mese-giorno = 0727 fino al 0803. E ci dimentichiamo del bisestile.


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.