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

mysql q me devuela una fecha.

Estas en el tema de mysql q me devuela una fecha. en el foro de Mysql en Foros del Web. Buenos dias como puedo hacer para que me devuela una fecha siempre el 1 de cada mes ejemplo: Fecha Ingresada: 16/02/2012 devuelve 01/02/2012 otro ejemplo: ...
  #1 (permalink)  
Antiguo 26/03/2012, 14:00
 
Fecha de Ingreso: noviembre-2007
Mensajes: 37
Antigüedad: 12 años, 1 mes
Puntos: 0
mysql q me devuela una fecha.

Buenos dias como puedo hacer para que me devuela una fecha siempre el 1 de cada mes ejemplo:


Fecha Ingresada: 16/02/2012 devuelve 01/02/2012

otro ejemplo:
Fecha Ingresada: 24/06/2012 devuelve 01/06/2012

Saludos,
  #2 (permalink)  
Antiguo 26/03/2012, 14:26
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: mysql q me devuela una fecha.

¿"Fecha Ingresada" en qué contexto?
¿En una aplicación, un SP o en una consulta?
__________________
¿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 26/03/2012, 15:35
 
Fecha de Ingreso: noviembre-2007
Mensajes: 37
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: mysql q me devuela una fecha.

La fecha la ingreso de java y mandar a llamar un SP donde recibe la fecha y quiero q me devuela la fecha siempre el 1 de cada mes de la fecha q se envio.
  #4 (permalink)  
Antiguo 26/03/2012, 15:49
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: mysql q me devuela una fecha.

Si el todo lo vas a hacer en un stored procedure, tienes dos formas de obtenerlo:
1) Lo obtienes cono parámetro de tipo OUT, caso en el cual lo único que tienes que hacer es crear el DATE sobre la base de la fecha, y cargarlo en la variable local del prototipo del SP.
Supongamos que el parámetro se llama fecha_salida:
Código MySQL:
Ver original
  1. DELIMITER $$
  2. CREATE PROCEDURE DEVOLUCION_FECHA(IN fecha_entrada DATE, [otros parametros, ] OUT fecha_salida  DATE)
  3.     SET fecha_salida = DATE(CONCAT(DATE_FORMAT(fecha_entrada, '%Y-%m-'), '01'));
  4. END$$
  5. DELIMITER ;
2) Lo obtienes como salida del SP en forma de tabla, caso en el cual la última sentencia ejecutada debe ser un SELECT, con alias:
Código MySQL:
Ver original
  1. DELIMITER $$
  2. CREATE PROCEDURE DEVOLUCION_FECHA(IN fecha_entrada DATE[, otros parametros] )
  3.     SELECT DATE(CONCAT(DATE_FORMAT(fecha_entrada, '%Y-%m-'), '01')) fecha_salida;
  4. END$$
  5. DELIMITER ;
__________________
¿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 26/03/2012, 15:51
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 12 años, 11 meses
Puntos: 447
Respuesta: mysql q me devuela una fecha.

Hola palmach:

Podrías hacerlo así;

Código MySQL:
Ver original
  1. mysql> SELECT CURDATE(), DATE_FORMAT(CURDATE(), '%Y-%m-01');
  2. +------------+------------------------------------+
  3. | CURDATE()  | DATE_FORMAT(CURDATE(), '%Y-%m-01') |
  4. +------------+------------------------------------+
  5. | 2012-03-26 | 2012-03-01                         |
  6. +------------+------------------------------------+
  7. 1 row in set (0.02 sec)

Cita:
EDITO: Es básicamente la misma respuesta que da gnzsoloyo... otra vez me ganó por la mínima jejejeje Saludos
Saludos
Leo.
  #6 (permalink)  
Antiguo 26/03/2012, 15:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: mysql q me devuela una fecha.



Algún día me vas a sacar un zapato o yo te lo sacaré, de tan cerquita que nos andamos pisando...

__________________
¿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 26/03/2012, 16:05
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 12 años, 11 meses
Puntos: 447
Respuesta: mysql q me devuela una fecha.

Así es gnzsoloyo... lo bueno es que las respuestas en lo general son iguales... espero que nunca ocurra que demos respuestas contradictorias o erroneas jejeje

Saludos
Leo.
  #8 (permalink)  
Antiguo 26/03/2012, 17:05
 
Fecha de Ingreso: noviembre-2007
Mensajes: 37
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: mysql q me devuela una fecha.

Gracias a los dos me ayudo muchisio las opciones que me dieron para poder generar mi SP.

Saludos,
  #9 (permalink)  
Antiguo 26/03/2012, 17:24
 
Fecha de Ingreso: noviembre-2007
Mensajes: 37
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: mysql q me devuela una fecha.

Para restar un dia a una fecha en un SP?
Quiero restarle a la fecha Final un dia.

where
date_format(fecha, '%Y/%m/%d') between date_format(pFechaFinal,'%Y/%m/01') and pFechaFinal
group by fecha order by fecha,codigo;
  #10 (permalink)  
Antiguo 26/03/2012, 20:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: mysql q me devuela una fecha.

MySQL tiene una amplia gama de funciones para manejo de fechas y horas. Te conviene revisar el manual de referencia para darles una mirada:
Capítulo 12. Funciones y operadores
__________________
¿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: Ninguno
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 00:19.