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

    inserire date in mysql con diversi formati

    uhm... ho visto qualcuno con lo stesso problema in passato nella ricerca, ma non ci sono state soluzioni.

    provo a riproporlo.

    nella tabella, il campo DATE va inserito come YYYY-MM-DD

    io però devo importare un CSV con date come DD/MM/YYYY

    come si potrebbe convertirle? o come si potrebbe inserirle?

    (ho pure provato con apple numbers, ma manca quel formato di data manca)

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    80
    Guarda io non sono davvero un'esperto, però qualcuno qui sul forum mi ha spiegato come poterlo fare in php.
    Io uso una semplice funzione che mi trasforma la data dal formato dd/mm/yyyy in yyyy-mm-dd. La funzione è questa
    Codice PHP:
    function date_DB($date,$separatore)
      {
      @list(
    $day,$month,$year)=explode($separatore,$date);
      
    $res_arr=array();
      
    $res_arr[]=$year;
      
    $res_arr[]=$month;
      
    $res_arr[]=$day;
      
    $result=implode("-",$res_arr);
      return 
    $result
      }; 
    La funzione è tutta qui, prende la data la esplode modifica l'ordine e la ricostruisce nel formato giusto.
    Per richiamare la funzione è sufficiente che tu gli passi la una variabile con la data e il separatore che hai utilizzato (es. /)

    Codice PHP:
    // richiamo la funzione date_DB per trasformare la data nel formato corretto
    //$data è la variabile che contiene la tua data
    $data;
    $DATA=date_DB($mydata,'/'); /* restituisce 2008/11/24 */ 
    Ora dovresti solamente (si fa per dire) capire come far leggere a php dentro il file csv. Io ti butto li una molto ipotetica soluzione.
    Tieni presente che la mia funzione lavora su un'array (che gli passo da un post) potresti far caricare la data in una campo (presumo che tu usi un database) varchar (eventualmente su excel io sostituirei gia "/" con "-") poi prendi la stringa la modifichi con una funzione simile a quella sopra dove al posto degli array devi andare a lavorare con le stringhe, ossia ti prendi la stringa la conti ti estrai gli elementi e ricostruisci il tutto. Di più non riesco ad aiutarti, magari se "giochi" un pò con le stringhe forse qualcosa viene fuori. Ti ripeto io sono un novizio non prendere quello che dico per oro colato.

  3. #3
    uhm... Google Docs me lo fa

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    80
    Non ho mica capito!!!!

  5. #5
    nel senso... se importo il csv in Google Docs, posso cambiare la colonna con le data dal formato usato a YYYY-MM-DD

    è un po' laborioso caricare, convertire, riscaricare in CSV, rimettere nel db... però funziona

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922

    Re: inserire date in mysql con diversi formati

    Originariamente inviato da hotel_vv
    uhm... ho visto qualcuno con lo stesso problema in passato nella ricerca, ma non ci sono state soluzioni.

    provo a riproporlo.

    nella tabella, il campo DATE va inserito come YYYY-MM-DD

    io però devo importare un CSV con date come DD/MM/YYYY

    come si potrebbe convertirle? o come si potrebbe inserirle?

    (ho pure provato con apple numbers, ma manca quel formato di data manca)

    codice:
    load data local infile 'c:/tuo_path/file.csv'
    into table tabella
    fields terminated by ';'
    lines terminated by '\r\n'
    ignore 1 lines
    (campo1,campo2,@data)
    set data = str_to_date(@data, '%d/%m/%Y')

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.