Ricerca date valide in un range di date

di il
3 risposte

Ricerca date valide in un range di date

Salve ho la tabella della lavorazioni con i campi "inizio_lavoro" e "fine_lavoro"
ho bisogno di trovare i tutti i lavori attivi in un range di date specificato in una maschera
il dubbio è sulla query, ovvero quali criteri usare, between, maggiore/minore ...
grazie per l'aiuto

3 Risposte

  • Re: Ricerca date valide in un range di date

    Credo sia (mi si corregga se sbaglio) indifferente, se correttamente scritte le condizioni.
    Io mi trovo più comodo coi maggiore/minore[uguale]...
  • Re: Ricerca date valide in un range di date

    RISOLTO: ho risolto creando due query:
    nella prima verifico i lavori che cominciano o (OR) finiscono nel range di date ma che lo comprendono almeno in parte
    nella seconda verifico i lavori che cominciano o (OR) finiscono fuori dal range di date ma che lo comprendono almeno in parte
    poi le ho unite in una query union ed ho tutti i lavori che almeno in parte ricadono nel range di date richiesto.
  • Re: Ricerca date valide in un range di date

    Basta 1 query... disegna un range con 2 linee, poi disegna 3 periodi:
    1 cometamente incluso
    1 a cavallo all'inizio
    1 a cavallo alla fine

    Se vuoi i periodi compresi nel range anche parzialmente ti basta controllare che il fine periodo o l'inizio periodo sia tra Inizio e fine range...

    Esempio:
    
    ---------<------------->-------- Range
    ------[-------]----------------- Periodo1
    --------------------[-------]--- Periodo2
    -------------[------]----------- Periodo3
    
    Se costruisci la query:
    
    SELECT * FROM T1
    WHERE 
     (PeriodoInizio Between RangeInizio AND RangeFine) 
      OR 
     (PeriodoFine Between Rangeainizio AND RangeFine)
    
    Saluti
Devi accedere o registrarti per scrivere nel forum
3 risposte