¿Puedo cambiar el formato de fecha en MySQL?

El formato estándar es AAAA-MM-DD. Quiero cambiarlo a DD-MM-YYYY (formato brasileño). ¿Hay alguna forma de hacerlo solo en MySQL? No quiero formatearlo en la cláusula PHP o SQL, ya que sería mucho trabajo. Y tengo que llamar a estas fechas desde mi base de datos muchas veces.

preguntado el 09 de marzo de 12 a las 13:03

Esto no responde a su pregunta, pero considere las ventajas de la YYYY-MM-DD formato. Es el estándar internacional (ISO 8601), es inequívoco (YYYY-02-01 siempre es el 1 de febrero, no el 2 de enero) y las fechas se pueden ordenar como texto sin formato. -

Lo sé, pero esto no vale para mí. gracias mi amigo. -

@KeithThompson, No hay forma de que sea ambiguo porque no hay YYYY-DD-MM, aquí en Brasil es DD-MM-YYYY. A mi tampoco me gusta así pero intento argumentar al cliente y al mercado... -

3 Respuestas

En resumen, NO.

Básicamente, para lograr lo que está solicitando, debe asignar un formato de fecha en la creación de la tabla: http://dev.mysql.com/doc/refman/5.1/en/create-table.html. Ese documento no especifica ninguna forma de preformatear los valores de una columna.

Puede haber una forma de formatear universalmente la fecha como una configuración de base de datos mysql. Valores predeterminados de IE. Pero tampoco veo eso mencionado en la documentación.

respondido 10 mar '12, 11:03

Espero que de esta otra manera, hacer de alguna manera algo universal para formatear la fecha en la configuración de la base de datos mysql sea cierto: b - fernando ferrari

Utilizar SELECT date_format(dateField, '%d/%m/%Y') as newDateField para recuperar la fecha y crear una función PHP para convertir yyyy-mm-dd antes INSERT. Es la única manera mejor.

Vai que da certo!;

respondido 01 mar '13, 12:03

No soy una persona de php, pero MySQL almacena fechas y horas como números internamente, no como cadenas. Entonces, cuando consulta la base de datos, lo que realmente obtiene es un número. La forma en que se muestra ese número está determinada por la herramienta que use para ver los datos (aplicación web, sql gui, etc.). Por lo tanto, cualquier cambio de formato debe realizarse dentro de que herramienta, no mySQL. En otras palabras, su código php.

Si absolutamente no puede hacer eso, puede modificar sus consultas individuales O crear una VIEW que genera el formato deseado. Luego consulta el VIEW en lugar de la mesa física. Pero hay algunas trampas/desventajas. Las cadenas se ordenan de manera diferente a las fechas (es decir, los números). Si necesita realizar cálculos de fecha más adelante, es posible que necesite un código de conversión adicional porque los valores son cadenas, no objetos de fecha.

En general, el formato y la presentación son realmente trabajo de la aplicación frontal, no de la base de datos.

respondido 10 mar '12, 10:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.