Dopo aver cercato su google, non riesco a trovare un modo per creare una nuova tabella con una colonna DATETIME
con il formato predefinito impostato su ” DD-MM-YYYY HH:MM:SS
”
Ho visto un tutorial in cui è stato fatto in phpmyadmin
quindi ho il sospetto che potrei usare mysql tramite la riga di comando e ottenere la stessa cosa quando creo il mio nuovo tavolo con
CREATE TABLE ()
Grazie in anticipo
“MySQL recupera e visualizza i valori DATETIME nel formato ‘AAAA-MM-GG HH: MM: SS’.” Questo è dal sito mysql. È ansible memorizzare solo questo tipo, ma è ansible utilizzare una delle tante funzioni di formato dell’ora per modificarlo, quando è necessario visualizzarlo.
Funzioni di MySql Time e Date
Ad esempio, una di queste funzioni è DATE_FORMAT , che può essere utilizzata per piacere:
SELECT DATE_FORMAT(column_name, '%m/%d/%Y %H:%i') FROM tablename
Usa la funzione DATE_FORMAT per cambiare il formato.
SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y') SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM tablename
Consultare DOC per maggiori dettagli
Come altri hanno spiegato che non è ansible, ma ecco una soluzione alternativa, richiede un po ‘di messa a punto, ma funziona come una colonna datetime.
Ho iniziato a pensare, come avrei potuto rendere ansible la formattazione. Ho un’idea. Che ne dici di fare il grilletto per questo? Voglio dire, aggiungendo una colonna con tipo char
, e quindi aggiornando quella colonna usando un trigger MySQL. E quello ha funzionato! Ho fatto alcune ricerche relative ai trigger e alla fine ho trovato queste domande:
CREATE TRIGGER timestampper BEFORE INSERT ON table FOR EACH ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
CREATE TRIGGER timestampper BEFORE UPDATE ON table FOR EACH ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
Non è ansible utilizzare TIMESTAMP
o DATETIME
come tipo di colonna, poiché questi hanno il proprio formato e si aggiornano automaticamente.
Quindi, ecco il tuo timestamp alternativo o l’alternativa datetime! Spero che questo mi abbia aiutato, almeno sono contento di averlo fatto funzionare.
ho usato la seguente riga di codice e funziona bene Grazie …. @Mithun Sasidharan **
SELECT DATE_FORMAT (column_name, ‘% d /% m /% Y’) FROM tablename
**
Sono abbastanza certo che non è ansible modificare il formato datetime in mysql. L’impostazione phpmyadmin probabilmente applica un formato personalizzato mentre legge il datetime (utilizzando DATE_FORMAT o qualcosa da php). Non dovrebbe importare quale formato usi il database, formattare nell’applicazione per visualizzarlo come desideri.
La formattazione della data è un’attività abbastanza comune. In genere mi piace estrapolarlo in codice di internazionalizzazione o, se non è necessario trattare con i18n, in una libreria di utilità di data comune. Aiuta a mantenere le cose coerenti e rende più facile cambiare in seguito (o aggiungere il supporto i18n).
No, non puoi; la data / ora verrà memorizzata nel formato predefinito solo durante la creazione della tabella e quindi potrai cambiare il formato di visualizzazione quando select
query nel modo desiderato utilizzando le funzioni di data e ora di Mysql
Questo non può essere fatto per il tavolo; inoltre, non puoi nemmeno modificare questo valore predefinito.
La risposta è una variabile del server datetime_format , non è utilizzata.
Dim x as date x = dr("appdate") appdate = x.tostring("dd/MM/yyyy")
dr è la variabile di datareader
prova questo:
DATE NOT NULL FORMAT 'YYYY-MM-DD'