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?
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?
La parte relativa all'anno è sempre sopra il 2000?
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 avanzaOriginariamente 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
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))
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 insiemesei gentilissimo
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.![]()
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.