Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Calcolo tra date

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    25

    Calcolo tra date

    Salve
    Io dovrei mostrare dati presi da un DB, ma solo quelli che non sono ancora scaduti(c'è un campo a posta nel DB, chiamato data_sc).
    Io ho del codice che mette nella query(ovviamente di SELECT):
    codice:
    data_sc> "&Date()&"
    Solo che per un qualche motivo che non capisco la query non mi seleziona quei record che hanno data_sc = 30/09/2005, oppure 31/10/2005 ritenendoli non validi.
    Facendo un response.write di Date mi fa vedere la data nel formato 12/07/2005. Il campo del DB è smalldatatime.

    Riuscite a darmi qualche dritta?Tenete presente che il DB l'ha costruito un'altra persona e dovrei evitare di toccarlo...

    Grazie mille...
    Verso l'infinito e oltre...
    -----------------------------------------
    "Non so con quale arma si combatterà la terza guerra mondiale, ma la quarta si combatterà con la clava."

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    25
    Ah...dimenticavo...
    La query in questione(che mi deve selezionare i record) mi mostra i record con data_sc = 31/01/2006 o maggiori (31/10/2007, ecc...)
    Verso l'infinito e oltre...
    -----------------------------------------
    "Non so con quale arma si combatterà la terza guerra mondiale, ma la quarta si combatterà con la clava."

  3. #3
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Questo problema è stato affrontato molte volte nel forum
    Vedi questi 3d
    http://forum.html.it/forum/showthrea...hreadid=852327
    http://forum.html.it/forum/showthrea...hreadid=844754

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    25
    Grazie Umanista...sono andato a vederli...ma non ho trovato risposta(probabilmente perchè non l'ho capita... )

    Io dovrei fare tutto con una query che mi mostra solo i record che hanno data_sc posteriore alla dato odierna. La query che ho dovrebbe farlo ma non lo fa correttamente...non capisco...non è che vi scappa un suggerimento eh

    Verso l'infinito e oltre...
    -----------------------------------------
    "Non so con quale arma si combatterà la terza guerra mondiale, ma la quarta si combatterà con la clava."

  5. #5
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Non ho capito che db stai usando, immagino Access.
    Comunque in quei 3d mi suggerivano (e ho sperimentato che avevano ragione) di comunicare al db le date sempre nella versione inglese
    (io a dire il vero le inserisco nel formato aaaa-mm-gg)
    Però per le query fai una funzione che, appunto, te le rigira nel formato anglosassone mm/gg/aaaa

    Dovresti risolvere così

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    25
    Per caso mi indicavi questo:
    codice:
    SELECT Tbl.data1, Tbl.data2, DateDiff("d",[data1],[data2]) AS Differenza FROM Tbl;
    Io uso SQL Server. Il fatto è che salva le date nel formato italiano...

    Io preferisco il formato aaaa-mm-gg(i conti li fa bene da solo ) ma devo adattarmi...quindi secondo te l'unico modo, o cmq il più rapido e facile, è quello di prendere la data inserita nel DB e ribaltarla.....?
    mmh...ok....l'idea l'ho capita...ora devo anche realizzarla...
    Verso l'infinito e oltre...
    -----------------------------------------
    "Non so con quale arma si combatterà la terza guerra mondiale, ma la quarta si combatterà con la clava."

  7. #7
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Originariamente inviato da vesant
    Per caso mi indicavi questo:
    codice:
    SELECT Tbl.data1, Tbl.data2, DateDiff("d",[data1],[data2]) AS Differenza FROM Tbl;
    Io uso SQL Server. Il fatto è che salva le date nel formato italiano...

    Io preferisco il formato aaaa-mm-gg(i conti li fa bene da solo ) ma devo adattarmi...quindi secondo te l'unico modo, o cmq il più rapido e facile, è quello di prendere la data inserita nel DB e ribaltarla.....?
    mmh...ok....l'idea l'ho capita...ora devo anche realizzarla...
    In realtà parlavo di Access. Con Sql Server non ho mai avuto questi problemi, però prova.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    25
    Ci proverò....ma, giusto per approfittarmene completamente , mi daresti un suggerimento per ribaltare la data?
    Verso l'infinito e oltre...
    -----------------------------------------
    "Non so con quale arma si combatterà la terza guerra mondiale, ma la quarta si combatterà con la clava."

  9. #9
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    dovresti fare una funzione come questa, che nel mio esempio prende una data nel formato aaaa-mm-gg e lo trasforma in mm/gg/aaaa

    codice:
    Function dataInglese(myDate)
    		
    	Dim arrData
    	arrData = Split(myDate, "-")
    		
    dataInglese = CDate(arrData(1) & "/" & arrData(2) & "/" & arrData(0))
    
    End Function

    con piccoli ritocchi puoi renderla adatta alle tue esigenze

    ciao

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    25
    Graaaaaaaaaaaaaaaaaaaaaaazie domani ci provo...ora il mio cervello naviga felice verso un'isola deserta....

    Grazie...
    Verso l'infinito e oltre...
    -----------------------------------------
    "Non so con quale arma si combatterà la terza guerra mondiale, ma la quarta si combatterà con la clava."

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.