Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Query ordinamento per data e ora

    Devo poter ordinare in modo decrescente in base alla data e all'ora. Ho un campo stringa dove inserisco la data nella forma yyyy/mm/dd, mentre l'ora la inserisco sempre in un campo stringa.
    codice:
    "SELECT * FROM commenti WHERE codDiscussione= 1 ORDER BY datacommento DESC"
    questa query mi permette di fare l'ordinamento solo per la data, come posso modificarla per ordinare anche in base all'ora?

    Altra domanda, visto che mi vedo obbligato per non avere problemi di ordinamnto all'inserimento della data nella forma yyyy/mm/dd, quando la vado a visualizzare devo usare split o c'è qualche altro metodo?
    Grazie

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    ... ORDER BY datacommento DESC, oracommento DESC"
    Per visualizzare correttamente la data è sufficiente mettere all'inizio dello script:

    codice:
    <%session.lcid = 1040%>

    Roby

  3. #3
    ... ORDER BY datacommento DESC, oracommento DESC"


    Per visualizzare correttamente la data è sufficiente mettere all'inizio dello script:
    codice:
    <%session.lcid = 1040%>
    Cioè se scrivo
    codice:
    <%
      session.lcid = 1040
      response.write("2006/01/01")
    %>
    mi dovrebbe stampare 01/01/2006?
    A me continua a stampare 2006/01/01, dove sbaglio?
    e grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    145
    no...se tu scrivi
    Response.Write ("2006/01/01")
    la pagina ti risponderà sempre 2006/01/01 - nel response.write hai messo un testo, non una variabile!!
    Devi scrivere Response.Write(nomevariabile) dove nomevariabile contiene già la data...

  5. #5
    Siccome ho provato anche io ad usare in passato il consiglio di Roby, ma non sempre ha funzionato a dovere, ti consiglio di crearti una funzione che prelevi i primi 4 caratteri dalla tua data e li salvi in una variabile anno, i due caratteri dopo la prima barra e li salvi in un variabile mese e gli ultimi due caratteri e li salvi in una variabile giorno.
    Poi leghi il tutto e crei la data.

    codice:
    function NumInData(numero)
       NumInData = Right(numero,2) & "/" & Mid(numero,5,2) & "/" & Left(numero,4)
    end function
    
    tua_data = NumInData(tuo_campo)
    L'esempio sopra non tiene conto di eventuali barre o trattini nel campo del db.

  6. #6
    Grazie per gli interventi.
    Ho notato che anche facendo:
    codice:
    response.write(CDate("2006/02/05"))
    mi stampa la data come "05/02/2006" anche se non metto
    codice:
    session.lcid = 1040
    Visto che però può dipendere dalle impostazioni del Server è poco affidabile. Alla fine penso di usare la semplice quanto efficace funzione postata da Dirk Pitt (con una piccola modifica):
    codice:
    function NumInData(numero)
        NumInData = Right(numero,2) & "/" & Mid(numero,6 ,2) & "/" & Left(numero,4)
    end function
    Grazie ancora

  7. #7
    Originariamente inviato da mardok30
    Alla fine penso di usare la semplice quanto efficace funzione postata da Dirk Pitt...
    Medaglia medaglia...

  8. #8

  9. #9
    Originariamente inviato da Roby_72
    Mah...

    Roby
    Eddai scherzo...

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.