wake-up-neo.com

Mysql: Richten Sie das Format von DATETIME auf 'DD-MM-JJJJ HH: MM: SS' ein, wenn Sie eine Tabelle erstellen

Nach dem googeln finde ich keine Möglichkeit, eine neue Tabelle mit einer DATETIME-Spalte zu erstellen, wobei das Standardformat auf 'DD-MM-YYYY HH:MM:SS' gesetzt ist.

Ich habe ein Tutorial gesehen, in dem es in phpmyadmin gemacht wurde. Ich vermute also, dass ich mysql über die Befehlszeile verwenden könnte und dasselbe beim Erstellen meiner neuen Tabelle mit erreichen könnte 

CREATE TABLE ()

Danke im Voraus

30
Iam Zesh

"MySQL ruft DATETIME-Werte im Format 'JJJJ-MM-TT HH: MM: SS' ab und zeigt sie an." Dies ist von MySQL-Site. Sie können nur diesen Typ speichern, aber Sie können ihn mit einer der vielen Zeitformatfunktionen ändern, wenn Sie ihn anzeigen möchten.

Meine Uhrzeit- und Datumsfunktionen

Eine dieser Funktionen ist beispielsweise die DATE_FORMAT , die verwendet werden kann, um dies zu mögen:

SELECT DATE_FORMAT(column_name, '%m/%d/%Y %H:%i') FROM tablename
51
Mirko Akov

Verwenden Sie die Funktion DATE_FORMAT, um das Format zu ändern. 

SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y')

SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM tablename

Weitere Informationen finden Sie in DOC

16

ich habe folgende Codezeile verwendet & es funktioniert gut Danke .... @Mithun Sasidharan **

SELECT DATE_FORMAT (Spaltenname, '% d /% m /% Y') FROM Tabellenname

**

5
Datta Salunkhe

Wie andere erklärt haben, dass dies nicht möglich ist, aber hier ist eine alternative Lösung, es bedarf einiger Anpassungen, aber es funktioniert wie eine datetime-Spalte. 

Ich fing an zu überlegen, wie ich Formatierungen ermöglichen könnte. Ich habe eine Idee. Was ist mit dem Auslöser dafür? Ich meine, Spalte mit Typ char hinzufügen und diese Spalte dann mit einem MySQL-Trigger aktualisieren. Und das hat funktioniert! Ich habe ein paar Recherchen zu Triggern gemacht und habe schließlich folgende Fragen gestellt:

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');

Sie können TIMESTAMP oder DATETIME nicht als Spaltentyp verwenden, da diese ein eigenes Format haben und automatisch aktualisiert werden. 

Hier ist Ihre alternative Zeitstempel- oder Datumszeit-Alternative! Hoffe, das hat geholfen, zumindest bin ich froh, dass ich das funktioniert habe.

5
aksu

Ich bin mir ziemlich sicher, dass Sie das datetime-Format in mysql nicht ändern können. Die phpmyadmin-Einstellung wendet wahrscheinlich ein benutzerdefiniertes Format an, während es die Datumszeit liest (mit DATE_FORMAT oder etwas von PHP). Es ist egal, welches Format die Datenbank verwendet, formatieren Sie sie in der Anwendung, um sie nach Ihren Wünschen anzuzeigen.

Die Datumsformatierung ist eine ziemlich häufige Aufgabe. Ich mag es normalerweise, es in Internationalisierungscode zu abstrahieren, oder, wenn Sie sich nicht mit i18n beschäftigen müssen, in eine gemeinsame Date Utility-Bibliothek. Dies hilft, die Dinge konsistent zu halten, und macht es später einfacher, Änderungen vorzunehmen (oder I18n-Unterstützung hinzuzufügen).

4
colithium

Nein, das kannst du nicht. datetime wird nur beim Erstellen der Tabelle im Standardformat gespeichert. Anschließend können Sie das Anzeigeformat in Ihrer select-Abfrage beliebig mit den Mysql Date Time-Funktionen ändern.

2
Rahul
Dim x as date 

x = dr("appdate")
appdate = x.tostring("dd/MM/yyyy")

dr ist die Variable des Datenbereichs

2
ynot

Dies ist nicht für die Tabelle möglich. Außerdem können Sie diesen Standardwert überhaupt nicht ändern.

Die Antwort ist eine Servervariable datetime_format . Sie wird nicht verwendet.

2
Devart

versuche dies:

DATE NOT NULL FORMAT 'YYYY-MM-DD'