Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    444

    [MYSQL] Query compleanni in un range

    Ecco il "testo" del mio problema.

    Ho una tabella persone con il campo DataNascita. Inoltre, da PHP ricevo due date ($data1 e $data2) che supponiamo già formattate per essere accettate da MySQL come data (tipo AAAA-MM-GG). Devo fare una query che restituisca tutti i record della tabella persone che fanno il compleanno tra $data1 e $data2 e, per ognuno di questi record, gli anni compiuti e l'offset del compleanno da $data1.

    Esempio:

    11/07/1988
    11/07/2000
    13/07/1980
    14/01/1966

    $data1 = "2008/07/10";
    $data2 = "2008/07/15";

    11/07/1988 - 20 - 1
    11/07/2000 - 8 - 1
    13/07/1980 - 28 - 3

    Sto impazzendo perché non riesco a controllare gli anni!!!
    *********************************
    Andrea
    *********************************

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select *,
    year(curdate())-year(datanascita)-(right(curdate(),5)<right(datanascita,5)) as anni,
    datediff(concat_ws('-',year(curdate()),month(datanascita),day(datanascita)),'2008-07-10') as diff 
    from tabella
    where date_format(datanascita,"%m-%d")
    between date_format('2008-07-10',"%m-%d") and
    date_format('2008-07-15',"%m-%d")

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    444
    Grazie mille, la provo e ti so dire!!! Poi se funziona mi informo bene sul funzionamento
    *********************************
    Andrea
    *********************************

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.