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

Discussione: formato data

  1. #1

    formato data

    Salve,
    nell'estrarre dati da un file excel, quando incontro una cella che contiene una data, me la fa vedere così: 39462, la cui corrispondenza dovrebbe essere il 15/01/08. Come faccio a convertire quel numero nel formato AAAA-MM-GG (Y-m-d) per poterlo poi inserire in un DB?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Prova ad aggiungere una colonna al tuo file di excel cui applichi questa formula

    =TESTO(a1;"aaaa-gg-mm")

    ovviamente modifica il riferimento alla tua cella. Poi applicalo alle altre e vedi se così risolvi.

  3. #3
    purtroppo i file excel li prendo da altri che li bloccano....on posso farci nessun intervento

  4. #4
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    INSERT INTO table (campo) VALUES ('1900-01-01' + INTERVAL 39462 DAY )

    Il problema è che inserisce 2008-01-17
    Non capisco i 2 giorni di differenza.

    In teoria EXCEL dovrebbe cominciare a contare i giorni dal 01/01/1900
    ...altri 5 anni di purga...

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da alpeweb
    INSERT INTO table (campo) VALUES ('1900-01-01' + INTERVAL 39462 DAY )

    Il problema è che inserisce 2008-01-17
    Non capisco i 2 giorni di differenza.

    In teoria EXCEL dovrebbe cominciare a contare i giorni dal 01/01/1900
    Stavo facendo una prova e ho notato la stessa cosa

    select data_numero, "1900-01-01" + interval (data_numero - 2) day as data_data
    from tabella

    se funziona applichi l'update.

  6. #6
    non ci ho capito molto...


  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Vale1976
    non ci ho capito molto...

    Cosa non hai capito?
    Hai la tua bella tabella con un campo che anzichè la data contiene valori numerici come 39462, giusto?

    Esegui questa query dove al posto di data_numero metterai il nome del tuo campo numerico e al posto di tabella il nome della tua tabella.

    codice:
    select data_numero, "1900-01-01" + interval (data_numero - 2) day as data_data
    from tabella
    Se vedi che la query restituisce i risultati attesi allora aggiungi alla tua tabella un campo di tipo date ed esegui la query di aggiornamento

    codice:
    update tabella
    set nuovo_campo_data = "1900-01-01" + interval (data_numero - 2) day
    A questo punto puoi eliminare il campo con la "data" numerica

  8. #8
    non devo fare una select, ma una conversione. Io ho $data = 39462. Vorrei $data nel formato AAAA-MM-GG

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Vale1976
    non devo fare una select, ma una conversione. Io ho $data = 39462. Vorrei $data nel formato AAAA-MM-GG
    Più chiaro di come ho già scritto non saprei proprio come spiegartelo.

  10. #10
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    Scusa, ma il campo in cui lo devi inserire è in formato data?

    INSERT INTO table (campo)
    VALUES ('1900-01-01' + INTERVAL ".$tuaVariabiledaExcel." DAY )

    Così come credi che lo inserisca?

    Comunque se non ne sei convinto prova.
    ...altri 5 anni di purga...

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.