Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    278

    [mysql]controllo timestamp in mysql

    Ciao a tutti come da titolo vorrei fare un controllo del timestamp nel db,mi spiego:

    Ho nel db degli utenti admin e in ogni record è valorizzato il campo last_login con un timestamp dell'ultimo accesso(il campo è un varchar)
    Vorrei controllare tramite sql se il timestamp dell'ultimo login e' relativo alla giornata di oggi oppure no..

    Spero che la spiegazione sia stata chiara..

    Grazie a tutti!!

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

    Re: [mysql]controllo timestamp in mysql

    Originariamente inviato da Chiara88d
    Ciao a tutti come da titolo vorrei fare un controllo del timestamp nel db,mi spiego:

    Ho nel db degli utenti admin e in ogni record è valorizzato il campo last_login con un timestamp dell'ultimo accesso(il campo è un varchar)
    Vorrei controllare tramite sql se il timestamp dell'ultimo login e' relativo alla giornata di oggi oppure no..

    Spero che la spiegazione sia stata chiara..

    Grazie a tutti!!
    Se ho ben capito, nel campo hai un valore tipo: 2012-06-27 15:55:22.000 salvato come stringa. A questo punto devi parsare la tua stringa (con una substring ti prendi solo la parte della data) e la confronti con la funzione now() epurata dalla parte relativa alle ore.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    278
    No, ho il timestamp in formato numerico, 10 cifre..

  4. #4
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Originariamente inviato da Chiara88d
    No, ho il timestamp in formato numerico, 10 cifre..
    Cioé hai la rappresentazione in millisecondi della data? E cmq mi pare di aver letto che il campo fosse varchar.
    In tal caso, se hai la data espressa in millisecondi devi castare il valore stringa in mnumerico e poi procedere con le conversioni per determinare giorno mese e anno

  5. #5

    Re: [mysql]controllo timestamp in mysql

    Originariamente inviato da Chiara88d
    Ciao a tutti come da titolo vorrei fare un controllo del timestamp nel db,mi spiego:

    Ho nel db degli utenti admin e in ogni record è valorizzato il campo last_login con un timestamp dell'ultimo accesso(il campo è un varchar)
    Vorrei controllare tramite sql se il timestamp dell'ultimo login e' relativo alla giornata di oggi oppure no..

    Spero che la spiegazione sia stata chiara..

    Grazie a tutti!!
    perche' non utilizzi un campo TIMESTAMP che ha l'opzione per aggiornarsi automaticamente ad ogni accesso?

    Se hai un valore unix timestamp lo puoi leggere direttamente con la funzione from_unixtime

    http://dev.mysql.com/doc/refman/5.5/..._from-unixtime

    ma il campo lo dovresti settare come INT(10) che ti "consuma" solo 4 byte

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    278
    Grazie Piero,ho modificato il campo in int,pero' adesso la necessita' è verificare se l'ultimo login è relativo a quello odierno..

    Grazie!

  7. #7
    Originariamente inviato da Chiara88d
    Grazie Piero,ho modificato il campo in int,pero' adesso la necessita' è verificare se l'ultimo login è relativo a quello odierno..

    Grazie!
    Il timestamp porta con se la data a livelllo di secondi.

    Se vuoi/devi confrontare solo la data odierna fai cosi':

    codice:
    select
    from
    where curdate() = from_unixtime(campo_unixtime, '%Y-%m-%d')

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.