Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125

    Estrazione date in periodo

    Ciao.

    Ho questo problema: due colonne in una tabella di DB Mysql una si chiama DataUltimoAggiornamento, l'altra DataProssimoAggiornamento.

    La tabella è la seguente:

    codice:
    ID	DATAULTIMOAGGIORNAMENTO		DATAPROSSIMOAGGIORNAMENTO
    
    1	2008-10-16			2008-10-16
    2	2008-10-16			2008-10-16	
    3	2008-10-14			2008-10-14
    4	2008-10-14			2008-10-26
    Dovrei estrarre con una query:

    - tutti i record che hanno DATAULTIMOAGGIORNAMENTO diversa da oggi, ma anche tutti i record che hanno DATAPROSSIMOAGGIORNAMENTO uguale alla data di oggi.

    E' possibile ?
    Grazie---

  2. #2
    Dovrebbe bastare un semplice:
    codice:
    SELECT * 
    FROM tuaTabella 
    WHERE DATAULTIMOAGGIORNAMENTO <> CURDATE()
    AND DATAPROSSIMOAGGIORNAMENTO = CURDATE()
    xxx

  3. #3
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Originariamente inviato da Alethesnake
    Dovrebbe bastare un semplice:
    codice:
    SELECT * 
    FROM tuaTabella 
    WHERE DATAULTIMOAGGIORNAMENTO <> CURDATE()
    AND DATAPROSSIMOAGGIORNAMENTO = CURDATE()
    grazie, ma è proprio x questo che ho postato.

    La query attuale:

    codice:
    SELECT * 
    FROM MiaTabella 
    WHERE DATAULTIMOAGGIORNAMENTO <> " & dataodierna & "
    AND DATAPROSSIMOAGGIORNAMENTO = " & dataodierna & "
    Se in tabella ho questa situazione:

    codice:
    ID	DATAULTIMOAGGIORNAMENTO		DATAPROSSIMOAGGIORNAMENTO
    
    1	2008-10-13			2008-12-31
    Mi estrae questo record, invece non dovrebbe perchè la DATAPROSSIMOAGGIORNAMENTO è il 31/12/2008.

    Mi segui?

  4. #4
    Probabilmente dipende da come hai valorizzato la variabile dataodierna (prova a postarlo), per questo nell'esempio che ho postato io ho usato la variabile CURDATE di mysql.
    xxx

  5. #5
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Originariamente inviato da Alethesnake
    Probabilmente dipende da come hai valorizzato la variabile dataodierna (prova a postarlo), per questo nell'esempio che ho postato io ho usato la variabile CURDATE di mysql.


    codice:
    SELECT * 
    FROM tuaTabella 
    WHERE DATAULTIMOAGGIORNAMENTO <> '2008-10-16' 
    AND DATAPROSSIMOAGGIORNAMENTO = '2008-10-16'

  6. #6
    Beh, la query che hai postato sembra corretta. Quel che dicevo è che se dataodierna lo prendi dal date() di asp e glielo passi così com'è poi giorno e mese ove possibile potrebbero venire invertiti.
    xxx

  7. #7
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Originariamente inviato da Alethesnake
    Beh, la query che hai postato sembra corretta. Quel che dicevo è che se dataodierna lo prendi dal date() di asp e glielo passi così com'è poi giorno e mese ove possibile potrebbero venire invertiti.
    DataOdierna non è altro che il date() di asp formattato per mysql, cioè come YYYY-MM-DD.

  8. #8
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Ho risolto così ma non so se è proprio la soluzione ottimale.

    Faccio una query che estrae soltanto la DATAULTIMOAGGIORNAMENTO minore o uguale alla data di oggi:

    codice:
    SELECT * 
    FROM MiaTabella 
    WHERE DATAULTIMOAGGIORNAMENTO <= '2008-10-16'
    Poi faccio una DateDiff tra la DATAULTIMOAGGIORNAMENTO e la DATAPROSSIMOAGGIORNAMENTO:

    codice:
    strDataDifferenza = DateDiff("d", cDate(rec("DATAULTIMOAGGIORNAMENTO")), cDate(rec("DATAPROSSIMOAGGIORNAMENTO")))
    Ed infine se la strDATADIFFERENZA è maggiore di 0 visualizzo quello che mi serve:

    codice:
    <%
    
    if strDataDifferenza > 0 then
       response.write "non devo aggiornare ===> Update K.O. "
          else
       response.write "devo aggiornare ===> Update O.K. "
    end if
    
    %>

  9. #9
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: Estrazione date in periodo

    Originariamente inviato da Mizushi
    Ciao.

    Ho questo problema: due colonne in una tabella di DB Mysql una si chiama DataUltimoAggiornamento, l'altra DataProssimoAggiornamento.

    La tabella è la seguente:

    codice:
    ID	DATAULTIMOAGGIORNAMENTO		DATAPROSSIMOAGGIORNAMENTO
    
    1	2008-10-16			2008-10-16
    2	2008-10-16			2008-10-16	
    3	2008-10-14			2008-10-14
    4	2008-10-14			2008-10-26
    Dovrei estrarre con una query:

    - tutti i record che hanno DATAULTIMOAGGIORNAMENTO diversa da oggi, ma anche tutti i record che hanno DATAPROSSIMOAGGIORNAMENTO uguale alla data di oggi.

    E' possibile ?
    Grazie---
    SELECT * FROM tabella WHERE dataultimoaggiornamento <> @oggi OR dataprossimoaggiornamento = @oggi

    L'unica cosa, controlla, che non ricordo, la notazione per scrivere una data.
    P.S. In Sql Server esiste la funzione GETDATE() che restituisce la data odierna, non so se ne esiste una analoga in MySql (credo di si)

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.