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
"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
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
ich habe folgende Codezeile verwendet & es funktioniert gut Danke .... @Mithun Sasidharan **
SELECT DATE_FORMAT (Spaltenname, '% d /% m /% Y') FROM Tabellenname
**
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.
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).
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.
Dim x as date
x = dr("appdate")
appdate = x.tostring("dd/MM/yyyy")
dr ist die Variable des Datenbereichs
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.
versuche dies:
DATE NOT NULL FORMAT 'YYYY-MM-DD'