Mysql: paramétrez le format de DATETIME à 'DD-MM-YYYY HH: MM: SS' lors de la création d'une table
après googler autour, Je ne peux pas trouver un moyen de créer une nouvelle table avec un DATETIME
colonne avec le format par défaut réglé sur '
j'ai vu un tutoriel dans lequel il a été fait dans phpmyadmin
donc je soupçonne que je pourrais utiliser mysql via la ligne de commande et atteindre la même chose lors de la création de ma nouvelle table avec
CREATE TABLE ()
Merci d'avance
9 réponses
" MySQL récupère et affiche les valeurs de DATETIME dans le format 'YYYY-MM-JJ HH:MM:SS'." Ceci vient du site mysql. Vous pouvez stocker que ce type, mais vous pouvez utiliser l'un des nombreux format de temps fonctions de modifier, lorsque vous avez besoin de l'afficher.
Mysql Heure et de la Date de fonctions
par exemple, une de ces fonctions est le DATE_FORMAT, qui peut être utilisé comme suit:
SELECT DATE_FORMAT(column_name, '%m/%d/%Y %H:%i') FROM tablename
Utilisez la fonction DATE_FORMAT pour changer le format.
SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y')
SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM tablename
Consulter DOC pour plus de détails
comme d'autres l'ont expliqué, ce n'est pas possible, mais voici une solution alternative, cela nécessite un peu de réglage, mais cela fonctionne comme la colonne datetime.
j'ai commencé à penser, comment je pouvais rendre le formatage possible. J'ai une idée. Ce sujet de faire trigger? Je veux dire, ajouter une colonne avec le type char
, puis mise à jour de cette colonne en utilisant un déclencheur MySQL. Et ça a fonctionné! J'ai fait quelques recherches liées à des déclencheurs, et enfin de venir avec ces requêtes:
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');
Vous ne pouvez pas utiliser TIMESTAMP
ou DATETIME
comme type de colonne, parce qu'ils ont leur propre format, et ils se mettent à jour automatiquement.
donc, voici votre timestamp alternatif ou datetime alternative! J'espère que ça a aidé, au moins je suis content que ça marche.
j'ai utilisé la ligne de code suivante & cela fonctionne très bien merci.... @Mithun Sasidharan **
SELECT DATE_FORMAT (column_name,' %d/%m/%Y') FROM tablename
***
je suis assez certain que vous ne pouvez pas changer le format datetime dans mysql. Le paramètre phpmyadmin applique probablement un format personnalisé lors de la lecture de la datetime (en utilisant DATE_FORMAT ou quelque chose de php). Peu importe le format de la base de données, le format de l'application pour l'afficher comme vous le souhaitez.
formatage de Date est une tâche assez commune. J'aime généralement l'abstraire dans le code d'internationalisation ou, si vous n'avez pas besoin de traiter avec i18n, dans un date de l'utilité de la bibliothèque. Cela aide à garder les choses cohérentes et rend plus facile de changer plus tard (ou d'ajouter le support i18n).
Non vous ne pouvez pas; datetime sera stocké dans le format par défaut seulement tout en créant la table et puis vous pouvez changer le format d'affichage en vous select
interrogez comme vous voulez en utilisant le Mysql Date De Fonctions De Temps
cela ne peut pas être fait pour la table; en outre, vous ne pouvez même pas changer cette valeur par défaut du tout.
la réponse est une variable de serveur date_time_format, il n'est pas utilisé.
Dim x as date
x = dr("appdate")
appdate = x.tostring("dd/MM/yyyy")
dr est la variable de datareader