Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309

    Operazioni con le date??

    Salve ho in un data base questa tabella

    Giornate
    1 | 01/09/2006
    2 | 09/09/2006
    3 | 18/09/2006
    4 | 25/09/2006
    5 | 03/10/2006
    6 | 09/10/2006

    Ora devo Creare una stored procedure che fa la seguente cosa, presa la data di oggi (per esempio diciamo che oggi è il 20/09/2006, mi deve restituire il record con la data più prossiama a quella data, cioè il 18/09/2006

    Non so proprio che pesci prendere...
    Ciao By Peter_Pan...

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    SELECT tabella1.id, tabella1.data1
    FROM tabella1
    WHERE (Now()-tabella1.[data1]) = (SELECT (Min( Now()-tabella1.[data1] )) FROM tabella1);
    Pietro

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Forse, piuttosto che eseguire due query concatenate, basterebbe lanciarne una sola filtrando per tutte le date inferiori a quella "limite" e ordinando i record con un criterio decrescente per il campo contenente la data: il primo record ottenuto coinciderebbe con quello più vicino alla data scelta.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da alka
    Forse, piuttosto che eseguire due query concatenate, basterebbe lanciarne una sola filtrando per tutte le date inferiori a quella "limite" e ordinando i record con un criterio decrescente per il campo contenente la data: il primo record ottenuto coinciderebbe con quello più vicino alla data scelta.

    Ciao!
    e mi sa tanto che hai ragione

    SELECT top 1 Tabella1.ID, Tabella1.DATA1
    FROM Tabella1
    WHERE (((Tabella1.DATA1)<Now()))
    ORDER BY Tabella1.DATA1 DESC;

    Pietro

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Originariamente inviato da pietro09
    SELECT top 1 Tabella1.ID, Tabella1.DATA1
    FROM Tabella1
    WHERE (((Tabella1.DATA1)<Now()))
    ORDER BY Tabella1.DATA1 DESC;
    In effetti, la restituzione di righe inutilizzate può essere un problema.
    Il TOP 1 che hai aggiunto dovrebbe essere sufficiente.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.