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

Consulta SQL convertir fechas de tipo string a entero

Estas en el tema de Consulta SQL convertir fechas de tipo string a entero en el foro de Mysql en Foros del Web. cuestion a resolver: enviar un correo a las personas q cumples años el dia actual situacion de la base de datos: mis usuarios estan registrados ...
  #1 (permalink)  
Antiguo 30/12/2010, 11:47
 
Fecha de Ingreso: mayo-2009
Mensajes: 46
Antigüedad: 15 años
Puntos: 0
Pregunta Consulta SQL convertir fechas de tipo string a entero

cuestion a resolver:

enviar un correo a las personas q cumples años el dia actual

situacion de la base de datos:

mis usuarios estan registrados por dia mes y año pero el mes viene en formato string (Diciembre, Enero, etc..)

¿Pregunta?

lo que quiero hacer es una consulta q me regrese correo y nombre de los usuarios que su mes de nacimiento concide con el mes actual y su dia de nacimiento con el y dia actual


para el dia actual fue simple `cb_dianacimiento` = DAY(curdate())
pero como el mes esta en formato DECEMBER , y MONTH(curdate()) me devuelve 12 ..

como podria lograr convertir el DECEMBER en 12 . ENERO 1. etc....
  #2 (permalink)  
Antiguo 30/12/2010, 13:57
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Consulta SQL convertir fechas de tipo string a entero

¿Por qué guardas el mes de esa forma? No es conveniente.

De todos modos, podrías usar la función FIELD con la lista de meses.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 31/12/2010, 10:34
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Consulta SQL convertir fechas de tipo string a entero

Es también relativamente fácil crear una tabla con los nombres de los meses en español y el número, que será el id
tabla meses
idMes | mes
1 | enero
2 | febrero
3 | marzo
...
luego un inner join de este campo mes (debe estar indexado) con el nombre del mes que guardas podría serte útil.
luego en el WHERE... AND MONTH(curdate()) = idMes
y ya está
De todas maneras, soy de la opinión de David y creo que debes guardar la fecha de nacimiento como date, con formato 2010-12-27, y eso no es un obstáculo porque tú, mediante programación, podrías cargar eso aunque en el selector se eliga diciembre.

Etiquetas: entero, fechas, sql, string, tipo
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 04:18.