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

    data: da ggmmaa a aaaa-mm-gg

    Io ho un database con un campo data per ora come tipo varchar in cui per ogni riga ho una data nel formato ggmmaa. Mi sapreste dire quale query devo utilizzare affinche converta ogni campo data di ogni riga del database nella forma aaaa-mm-gg?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    La parte relativa all'anno è sempre sopra il 2000?

  3. #3
    esatto sopra il 2000,
    Comunque di logica le fasi dell implementazione del codice dovrebbero essere quese:
    1)connettersi al database
    2)fare una query per prelevare tutte le righe del database
    3)prelevare riga per riga e:
    31.)modificare di ogni riga il tipo del campo DATA da VARCHAR a DATE e poi convertire il valore della data da GGMMAA a AAAA-MM-GG e sostituirlo al posto del precedente

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da pendolino4ever
    esatto sopra il 2000,
    Comunque di logica le fasi dell implementazione del codice dovrebbero essere quese:
    1)connettersi al database
    2)fare una query per prelevare tutte le righe del database
    3)prelevare riga per riga e:
    31.)modificare di ogni riga il tipo del campo DATA da VARCHAR a DATE e poi convertire il valore della data da GGMMAA a AAAA-MM-GG e sostituirlo al posto del precedente
    Una semplice query basta e avanza

    codice:
    update tabella
    set data_date = concat_ws('-',concat('20',substring(data_varchar,5,2)),substring(data_varchar,3,2),substring(data_varchar,1,2))

  5. #5
    dove devo metterla: ti posto il codice sino ad ora

    /* Esecuzione di una query SQL - la tabella si chiama tentativo - il campo delle date si chiama DATA */

    $query = '.......';
    $risultato = mysql_query($query) or die (mysql_error());


    while($linea = mysql_fetch_array($risultato)){


    }


    dimmi gentilmente il tuo codice dove devo postarlo o al piu ripostami tutto il codice insieme sei gentilissimo

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Lascia perdere il php.
    Esegui la query direttamente da interfaccia grafica (phpmyadmin, sqlYog o quella che usi).
    Devi prima aggiungere alla tua tabella un campo di tipo date.
    Dopo esegui la query che ti ho postato, dove al posto di data_varchar scriverai data e al posto di data_date, il nome che avrai dato al tuo nuovo campo di tipo date.
    Una volta eseguita la query e verificato che tutto sia andato a buon fine puoi anche cancellare il tuo campo data di tipo varchar.

  7. #7
    buona sera
    per provare ho eseguito la query che è stata suggerita in questo post seguendo le indicazioni creando il campo di tipo date ma le date che mi inserisce nel nuovo campo non sono esatte, es. nel mio campo la data è 16-04-2006 nel nuovo campo mi restituisce qusta data 0204-00-16 potrebbe dipendere dal trattino?
    però io avrei bisogno di convertire
    la data di più campi di tipo varchar(20) le date inserite sono gg-mm-aaaa devo convertirle in formato datetime se possibile grazie.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.