Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

dudas con diagona (/) y guiones (-)

Estas en el tema de dudas con diagona (/) y guiones (-) en el foro de Mysql en Foros del Web. Hola tengo la siguiente duda guardo en una variable una fecha que inserta el usuario la guardo asi 2011/10/15 en la base de datos que ...
  #1 (permalink)  
Antiguo 18/10/2011, 20:17
 
Fecha de Ingreso: agosto-2011
Ubicación: d.f
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 4
dudas con diagona (/) y guiones (-)

Hola tengo la siguiente duda guardo en una variable una fecha que inserta el usuario la guardo asi

2011/10/15

en la base de datos que es mysql la guarda asi

2011-10-15

mi pregunta es se puede guardar como la mande!?
  #2 (permalink)  
Antiguo 18/10/2011, 20:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: dudas con diagona (/) y guiones (-)

No. Las bases de datos guardan en un formato estandarizado (en realidad no se guarda una fecha sino un número en punto flotante, pero eso es otra discusión).
Tienes que dejar que la base guarde como debe guardar las cosas, y luego usar la función adecuada para que te devuelva el dato en el formato deseado.
No intentes, repito no intentes guardar una fecha como VARCHAR. Es un error calamitoso y lo único que te traerá serán dolores de cabeza en las consultas. Los tipos de dato para fechas existen de esa forma por razones fundamentales, y no por capricho.

Para recuperar una fecha con un formato determinado se usa DATE_FORMAT(), por ejemplo, o GET_FORMAT():
Código MySQL:
Ver original
  1. SELECT DATE_FORMAT(campoDeFecha, '%d/%m/%Y') fecha
  2. FROM tabla
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 19/10/2011, 08:24
 
Fecha de Ingreso: agosto-2011
Ubicación: d.f
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: dudas con diagona (/) y guiones (-)

Muchas gracias por tu respuest gnzsoloyo, me quedo la duda al hacer el query de esta manera al momento de pasarlo a una variable... lo va a pasar en ese formato?

osea si lo paso a la variable fecha e imprimo esa variable lo va a desplegar de esa forma?

2011/10/15

quedo al pediente de tu respuesta!!
  #4 (permalink)  
Antiguo 19/10/2011, 08:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: dudas con diagona (/) y guiones (-)

Para eso PHP tiene funciones propias de formateo de texto.
Busca en el manual y úsalas.
En cualquier caso, cando usas DATE_FORMAT(), MySQL te está devolviendo una cadena de texto y no un DATE, por lo que si lo tmas usando esa función obtendrás un string con la fecha...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 19/10/2011, 11:51
 
Fecha de Ingreso: agosto-2011
Ubicación: d.f
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: dudas con diagona (/) y guiones (-)

Yo uso Java gnzsoloyo y me esta dando el siguiente error:

Código PHP:
select date_format(fechaOcurrencia,'%d/%m/%Y'from requerimiento where  numeroRequerimiento=2;

dt.setFechaOcurrencia(rs.getString("fechaOcurrencia")); 
estoy recogiendo la variable: pero me lanza el siguiente error:

Código PHP:
nested exception is java.sql.SQLExceptionColumn 'fechaOcurrencia' not found
que pasa? no encuentra la columna fechaOcurrencia por que estoy usando el
date_format????
no entiendo
  #6 (permalink)  
Antiguo 19/10/2011, 12:38
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: dudas con diagona (/) y guiones (-)

Hola herwex:

Al utilizar una función sobre una columna en una consulta, se convierte en un CAMPO CALCULADO, es decir, ya no conserva el mismo nombre original. Lo que tienes que hacer es ASIGNARE UN ALIAS al campo, si quieres el mismo que utilizas en para el cálculo:

Código:
select date_format(fechaOcurrencia,'%d/%m/%Y') fechaOcurrencia from
...

select date_format(fechaOcurrencia,'%d/%m/%Y') as fechaOcurrencia from
...
La palabra reservada AS es completamente opcional, aunque obsoleta por lo que no te recomiendo que la utilices.

Saludos
Leo.
  #7 (permalink)  
Antiguo 19/10/2011, 14:27
 
Fecha de Ingreso: agosto-2011
Ubicación: d.f
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: dudas con diagona (/) y guiones (-)

gracias leonardo_josue pero por que es obsolet usar el as??
  #8 (permalink)  
Antiguo 19/10/2011, 14:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: dudas con diagona (/) y guiones (-)

Es obsoleto porque se eliminó del estándar ANSI-SQL hace ya años. Se conserva en uso sólo por compatibilidad con sistemas de bases de datos muy viejos.
Incluirlo n produce ningún efecto beneficioso y genera confusiones a aquellos que conocen y usan el estandar actualizado.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: dudas, sql, guion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:26.