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

Usar variable fecha

Estas en el tema de Usar variable fecha en el foro de Mysql en Foros del Web. Hola a todos, en primer lugar gracias a todos y enhorabuena por el foro.... es mi primera consita y no creo que sea la última ...
  #1 (permalink)  
Antiguo 08/04/2011, 12:56
 
Fecha de Ingreso: abril-2011
Mensajes: 39
Antigüedad: 13 años
Puntos: 1
Usar variable fecha

Hola a todos, en primer lugar gracias a todos y enhorabuena por el foro.... es mi primera consita y no creo que sea la última

tengo una tabla en la que uno de los campos es la fecha y la hora....

quiero hacer una select con una variable del día actual para sacar los registros de esa tabla.... por lo que he leído, y lo que he hecho.... pero sin conseguir que funcione, es lo siguiente.

set @hoy = current_date();
select * from 'registry' where 'Hora_entrada' like '%@hoy%';

que hago mal???

Muchas gracias por la ayuda
  #2 (permalink)  
Antiguo 08/04/2011, 13:31
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: Usar variable fecha

Cita:
que hago mal???
Usar LIKE...

Like se usa para cadenas de texto, no para fechas. Con las fechas te conviene usar "=" u otros operadores lógicos, o funciones de fecha y hora, pero no LIKE.
Además, los nombres de bases, tablas, columnas, procedimientos, funciones o triggers se colocan entre acentos inversos (`) y no entre apóstrofes ('). Los apóstrofes se usan para contener cadenas de texto.

Código MySQL:
Ver original
  1. SET @hoy = CURDATE();
  2. SELECT  * FROM `registry` WHERE DATE(Hora_entrada) = @hoy;
__________________
¿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 08/04/2011, 15:22
 
Fecha de Ingreso: abril-2011
Mensajes: 39
Antigüedad: 13 años
Puntos: 1
Respuesta: Usar variable fecha

Gracias por la respuesta tan rápida gnzsoloyo

otra pregunta, en

SELECT * FROM `registry` WHERE DATE(Hora_entrada) = @hoy;

si el campo en la tabla es FECHA HORA, es decir, 2011-04-08 14:32:27
si pongo que busque @hoy, necesita llevar comodines para que se omita le HORA ?

es decir, se puede poner con % ??

SELECT * FROM `registry` WHERE DATE(Hora_entrada) = %@hoy%;

Gracias
  #4 (permalink)  
Antiguo 08/04/2011, 15:35
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: Usar variable fecha

La consulta que te he puesto sólo compara fechas, no fechahora, por eso puse un SET @hoy = CURDATE();, para obtener sólo la fecha, y la función DATE hace que se extraiga la parte de fecha de "hora_entrada".
Creo que llegados a este punto conviene que leas un poco del uso de SQL y mires el manual de referencia para ver las funciones que existen en MySQL. AL menos antes de ponerte a escribir nada que luego haya que corregir constantemente, como por ejemplo ese caso, porque no se usan "comodines" en las fechas en MySQL.

Lee el manual. Es un sano consejo (yo lo hago cada vez que tengo una duda, y trabajo con MySQL hace años).
__________________
¿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 08/04/2011, 15:46
 
Fecha de Ingreso: abril-2011
Mensajes: 39
Antigüedad: 13 años
Puntos: 1
Respuesta: Usar variable fecha

gracias por la respuesta y por el consejo.

Un saludo
  #6 (permalink)  
Antiguo 08/04/2011, 16:25
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: Usar variable fecha

No problem.

Cualquier duda, pregunta.
__________________
¿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: fecha, variables
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 19:14.