Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    168

    attributo composto da dividere

    Ciao ragazzi, ho un attributo `endtime` che ho definito così: varchar(20) DEFAULT NULL. Tale attributo è composto da una data e un orario.
    Ho creato due nuove colonne, una di tipo DATE e l'altra di tipo TIME, e poi ho lanciato una UPDATE del tipo:

    UPDATE nome_tabella SET nuova_colonna_con_la_data = DATE(STR_TO_DATE(colonna_originale, 'formato in cui è salvata la data originale)), nuova_colonna_con_orario = TIME(STR_TO_DATE(colonna_originale, 'formato in cui è salvata la data originale));

    Per specificare il formato con cui è stata inserita la data originale ho usato questa sintassi:

    http://dev.mysql.com/doc/refman/5.1/...on_date-format

    Il problema è che riesco ad ottenere il campo data mentre il campo time rimane NULL.
    Come faccio?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Perchè vuoi usare due campi anzichè uno di tipo datetime?

    Puoi postare un esempio di record nel formato stringa che hai attualmente?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    168
    Ho necessità di averli separati per elaborazioni successive.
    Un esempio di valore contenuto nel campo endtime è 4/3/2005 14:38:03.

    Nel campo data appare 2005-03-04 mentre nel campo time appare NULL.

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Per l'orario ti basta

    update tabella set data = .....,orario = substring_index(stringa," ",-1)

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    168
    Ehm..puoi spiegarmi meglio?
    Non ho capito come far comparire l'orario presente nel campo 'endtime' nel campo 'time'!

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    update tabella set data = quello_che_hai_già_fatto,campo_time = substring_index(endtime," ",-1)

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    168
    Dunque, se:

    date=nome_nuova_colonna_data
    end_time=nome_nuova_colonna_orario
    endtime=nome_originario_colonna

    mi dici come scrivere la SET? Mi dà errore!

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    update tabella set `date` = str_to_date(endtime,"%e/%c/%Y %H:%i:%s"),end_time = substring_index(endtime," ",-1)

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    168
    Il campo "end_time" continua a rimanere vuoto..

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

    Questa query:

    select endtime,substring_index(endtime," ",-1) as tempo from tabella

    restituisce gli orari?

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.