Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307

    MySQL: conversione formato date

    Buongiorno a tutti,
    ho una tabella di MySQL con delle date in formato "human-readable", vale a dire

    date ("D d F Y \- H:i:s")

    Come faccio per convertirle in un formato, viceversa, utile per l'ordinamento, tipo

    date("Y m d H:i:s")

  2. #2
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  3. #3
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307
    Originariamente inviato da Habanero
    http://dev.mysql.com/doc/refman/5.0/...functions.html

    Guarda la DATE_FORMAT()
    Grazie, Rutg... ehr, grazie e basta.
    Ma se volessi definire un nuovo campo data per la tabella, conservandomi il vecchio, e popolare con una sola query tutti i record con la versione "da ordinamento" del campo "human-readable"?

  4. #4
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    beh dal punto di vista di un buon design la tua soluzione è pessima... avresti due campi con la stessa informazione.
    Se mi chiedi un parere te lo sconsiglio, molto meglio eseguire l'operazione nella select di ordinamento.
    Ma se proprio persisti...

    Per aggiungere il campo 'data_ord' alla tabella 'tabella' subito il campo 'data' :

    ALTER TABLE tabella ADD COLUMN data_ord varchar(12) AFTER data;


    Per popolare il campo:

    UPDATE tabella SET data_ord=DATE_FORMAT(data, "%d-%m-%Y");
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  5. #5
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307
    beh dal punto di vista di un buon design la tua soluzione è pessima... avresti due campi con la stessa informazione.
    Se mi chiedi un parere te lo sconsiglio, molto meglio eseguire l'operazione nella select di ordinamento.
    Ci ho pensato due minuti dopo averlo scritto, sai?
    Però (c'è sempre un però), il problema è che la DATE_FORMAT non mi funziona.
    Le date sono immagazzinate in un campo TEXT, in un formato del tipo

    Mon 14 July 2008 - 13:22:22

    Quando vado a fare una splendida SELECT DATE_FORMAT(), ho un altrettanto splendido NULL...

  6. #6
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Il campo dev'essere DATE o DATETIME, penso sia normale ti restituisca NULL.

  7. #7
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307
    Originariamente inviato da Razorblade
    Il campo dev'essere DATE o DATETIME, penso sia normale ti restituisca NULL.
    Ora funziona tutto, grazie a tutti

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.