Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22

Discussione: Convertire data Sql

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    99

    Convertire data Sql

    Salve a tutti
    Ho un problema, ho una tabella con campo DATA1 in questo formato "gg/mm/aaaa" dovrei estrarre mediate query i risultati con quel campo in formato "aaaa-mm-gg".
    Esiste qualche istruzione che mi permetta di sostituire i trattini e invertire i dati?
    Non so se è possibile fare una cosa del genere, spero qualcuno possa aiutarmi

    Vi ringrazio anticipatamente

  2. #2
    Utente di HTML.it L'avatar di zanna91
    Registrato dal
    Mar 2012
    Messaggi
    150
    codice:
    data = year(DATA1)&"-"&right("00"&month(DATE1),2)&"-"&right("00"&day(DATE1),2)

    Byez
    We are Legion. We do not Forgive. We do not Forget. Expect us.

    WE ARE HTML.it User :072:

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    91
    Istruzioni SQL standard non ce ne sono, a seconda del db che usi puoi usare le rispettive function castando la stringa in formato data e formattandola nel formato yyyy-MM-dd

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    99
    Quindi il miglior formato per poi avere facilità nell'estrazione in qualsiasi altro formato (utilizzando Sql) è aaaa-mm-gg??
    Grazie ragazzi

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    91
    Se usi stringhe nel db direi di si o, forse meglio ancora, nel formato yyyyMMdd cosi ti vengono "gratis" le ricerche. Io uso sempre i campi datetime comunque, e nel caso di operazioni particolari faccio il cast in stringa

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    99
    Ah ottimo consiglio, ti ringrazio.
    Quindi in DATATIME è il miglior modo per memorizzare le date, visto che poi Sql ti permette di estrarle trasformate a seconda dell'esigenza.

    Ora ad esempio mi è sorto un altro problema, ho un campo in una Tab. "DATA_RIC"
    nel quale memorizzo attraverso dei dati che mi passano l'orario in formato 31-03-2012 ora dovrei fare una query che mi seleziona i RECORD con le DATA_RIC vecchia di almeno 8 giorni rispetto alla data attuale.
    Sin ora lavoravo selezionandole tutte e con Php mi effettuavo trasformazioni in data unix e controlli, però siccome son parecchi i record ci mette un pò di secondi.

    Se lo facessi direttamente nell'istruzione Sql?
    E' possibile farlo? Se si come?

    Vi ringrazio, perdonate la mia poca esperienza con l'Sql

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    91
    Ma non puoi combiare i campi da stringa a DATETIME? Secondo me ti risolveresti un bel po di problemi. Nel caso specifico risolveresti con una semplice query sottraendo dalla data 8 giorni.

    Che DB usi?

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    99
    Emh....
    Ho campi formattati in questo modo, "31-03-2012 12:37:01" come posso convertirli in DATETIME??
    Devo per forza fare uno script con Php?

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    91
    potresti farti una nuova colonna datetime e poi farti una query di update del nuovo campo prendendo il valore dal campo DATA_RIC convertendolo nel corretto formato datetime. Poi rinomini i campi correttamente e cancelli il campo in piu

    Usi MySql?

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    99
    Si si... Mysql con interf. PhpmyAdmin
    Come dovrei fare una query simile?

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.