type - Mysql: configure el formato de DATETIME en ''DD-MM-YYYY HH: MM: SS'' al crear una tabla
mysql date type (9)
Después de buscar en Google, no puedo encontrar una manera de crear una nueva tabla con una columna DATETIME
con el formato predeterminado establecido en '' DD-MM-YYYY HH:MM:SS
''
Vi un tutorial en el que se hizo en phpmyadmin
así que sospecho que podría usar mysql a través de la línea de comandos y lograr lo mismo al crear mi nueva tabla con
CREATE TABLE ()
Gracias de antemano
"MySQL recupera y muestra los valores DATETIME en formato ''AAAA-MM-DD HH: MM: SS''". Esto es del sitio mysql. Puede almacenar solo este tipo, pero puede usar una de las muchas funciones de formato de hora para cambiarlo, cuando necesite mostrarlo.
Funciones de hora y fecha de Mysql
Por ejemplo, una de esas funciones es DATE_FORMAT , que se puede usar para que así sea:
SELECT DATE_FORMAT(column_name, ''%m/%d/%Y %H:%i'') FROM tablename
Como otros han explicado que no es posible, pero esta es una solución alternativa, requiere un poco de ajuste, pero funciona como una columna de fecha y hora.
Empecé a pensar, cómo podría hacer que el formateo sea posible. Tengo una idea. ¿Qué hay de hacer que se desencadene? Quiero decir, agregando una columna con tipo char
, y luego actualizando esa columna usando un disparador de MySQL. ¡Y funcionó! Hice algunas investigaciones relacionadas con los factores desencadenantes, y finalmente surgieron estas consultas:
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'');
No puede usar TIMESTAMP
o DATETIME
como tipo de columna, ya que tienen su propio formato y se actualizan automáticamente.
Entonces, ¡aquí está su alternativa de marca de tiempo o alternativa de fecha y hora! Espero que esto haya ayudado, al menos estoy contento de haber conseguido esto funcionando.
Esto no se puede hacer para la tabla; Además, ni siquiera puedes cambiar este valor predeterminado.
La respuesta es una variable de servidor datetime_format , no se usa.
Estoy bastante seguro de que no puedes cambiar el formato de fecha y hora en mysql. La configuración de phpmyadmin probablemente esté aplicando un formato personalizado, ya que lee la fecha y hora (usando DATE_FORMAT o algo de php). No debe importar qué formato utiliza la base de datos, formatee en la aplicación para mostrarlo como lo desee.
El formato de fecha es una tarea bastante común. Por lo general, me gusta abstraerlo en el código de internacionalización o, si no es necesario tratar con i18n, en una biblioteca de utilidad de fecha común. Ayuda a mantener las cosas consistentes y hace que sea más fácil cambiarlas más tarde (o agregue compatibilidad con i18n).
He utilizado la siguiente línea de código y funciona bien Gracias ... @Mithun Sasidharan **
SELECT DATE_FORMAT (column_name, ''% d /% m /% Y'') FROM tablename
**
No, no puedes; datetime se almacenará en formato predeterminado solo durante la creación de la tabla y luego podrá cambiar el formato de visualización en la consulta de la forma que desee utilizando las funciones de fecha y hora de Mysql
Use la función DATE_FORMAT para cambiar el formato.
SELECT DATE_FORMAT(CURDATE(), ''%d/%m/%Y'')
SELECT DATE_FORMAT(column_name, ''%d/%m/%Y'') FROM tablename
Refiera DOC para más detalles
prueba esto:
DATE NOT NULL FORMAT ''YYYY-MM-DD''
Dim x as date
x = dr("appdate")
appdate = x.tostring("dd/MM/yyyy")
dr es la variable del lector de datos