Come prelevare solo i dati dell'anno precedente in Sql Server

Devo scrivere una query select in Sql Server che mi restituisca solo i records dello scorso anno, qual'è il modo migliore per farla?

In Corso 1
Sql Server 11-06-2018 1 Risposta 5431 Visite 0
Pasquale Surdu

Pasquale Surdu

Autore di questa domanda

Risposte ( 1 approvate )

  1. Saverio Buccellato
    0
    11-06-2018 17:06:01
    Rispondi

    Dando per scontato che tu abbia un campo (colonna) date sulla quale imporre la condizione per filtrare i dati, per fare una SELECT che ti ritorni i soli dati (records) dello scorso anno, ti basta scrivere un qualcosa del genere:

    SELECT my_column FROM my_table WHERE YEAR(my_column_date) = YEAR(GETDATE()) - 1

    Attenzione che la funzione GETDATE() di Sql Server ritorna la data corrente quindi il risultato dell'espressione a destra della condizione WHERE è un numero che corrisponde allo scorso anno e non hai 365 giorni precedenti, quindi viene fatto un confronto tra date in anni e non su un formato data esteso, pertanto se siamo nel 2018 questa query ti ritornerà tutti i record dell'anno precedente ossia del 2017, e così via di anno in anno.

Rispondi

Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.

 Domanda Precedente

 Elenco Domande 

Domanda Successiva