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

Insert en campo tipo DATE

Estas en el tema de Insert en campo tipo DATE en el foro de Bases de Datos General en Foros del Web. Hola buenas tengo una tabla con un campo fecha tipo DATE en este formato: 27-Apr-09 me gustaria saber como tengo que hacer un INSERT de ...
  #1 (permalink)  
Antiguo 15/05/2009, 03:20
 
Fecha de Ingreso: septiembre-2008
Mensajes: 137
Antigüedad: 15 años, 7 meses
Puntos: 0
Insert en campo tipo DATE

Hola buenas tengo una tabla con un campo fecha tipo DATE en este formato: 27-Apr-09 me gustaria saber como tengo que hacer un INSERT de forma correcta...

Gracias y un saludo
  #2 (permalink)  
Antiguo 15/05/2009, 05:22
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, 5 meses
Puntos: 2658
Respuesta: Insert en campo tipo DATE

¿Es necesario ESE formato?
Ese sería un campo VARCHAR, pero lo que realmente te conviene es un DATE y resolver la forma de representación usando la función DATE_FORMAT() cuando haces el SELECT.
Con esa función le puedes dar diversos formatos a un DATE. Mira esto: 12.5. Funciones de fecha y hora.Además, almacenar un DATE es apenas la cantidad de Bytes de un FLOAT, mientras que un varchar usaría al menos 10 bytes, lo que a la larga implica bytes innecesarios en la 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 15/05/2009, 06:51
 
Fecha de Ingreso: septiembre-2008
Mensajes: 137
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Insert en campo tipo DATE

Si tengo que emplear ese formato, he estado viendo el enlace que me proporcionaste, siguiendo las instrucciones hice esta consulta pero me dice que dicha funcion es desconocida , te pongo la consulta:

SELECT CFECHA FROM CON WHERE CO_FECHA= FORMAT_DATE ('27-Apr-09', '%e %b %y')

Haber si ves donde la estoy cagando, gracias y un saludo
  #4 (permalink)  
Antiguo 15/05/2009, 07:07
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, 5 meses
Puntos: 2658
Respuesta: Insert en campo tipo DATE

Ten cuidado con los espacios entre el FORM_DATE y el paréntesis. MySQL no admite espacios o genera error de función desconocida.
Si estás usando PHP, el PHP suele parsear la sentencia y meterle un espacio intermedio, con lo que en realidad queda así:
Código sql:
Ver original
  1. SELECT CFECHA FROM CON WHERE CO_FECHA= FORMAT_DATE  ('27-Apr-09', '%e %b %y')
Eso es lo que recibe realmente el MySQL, lo que te generará un error. Es un bug de PHP.
Para que desde PHP funcione bien tienes que asegurarte de ejecutar previamente
Código sql:
Ver original
  1. SET sql_mode = "IGNORE_SPACE";
Eso le cambia el estado de server para que ignore ese error.
__________________
¿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 15/05/2009, 07:26
 
Fecha de Ingreso: septiembre-2008
Mensajes: 137
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Insert en campo tipo DATE

Estoy trabajando con ADABAS y Jsp
  #6 (permalink)  
Antiguo 15/05/2009, 09:23
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, 5 meses
Puntos: 2658
Respuesta: Insert en campo tipo DATE

Debiste empezar por allí. En cualquier caso debe el ADABAS debe tener una función para esto.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 17/05/2009, 06:23
 
Fecha de Ingreso: enero-2009
Mensajes: 55
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Insert en campo tipo DATE

he estado investigando y no encontre nada, si alguien sabe que me heche un cable...please
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:28.