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

Fecha entre 2004-11-25 y 2004-11-30Hola, hago esto:

Estas en el tema de Fecha entre 2004-11-25 y 2004-11-30Hola, hago esto: en el foro de Bases de Datos General en Foros del Web. Hola, hago esto: Código PHP: SELECT fecha , pais FROM  ` 2004 `  WHERE fecha  >=  2004 - 01 - 25 SELECT fecha , pais FROM  ` 2004 `  WHERE fecha  ...
  #1 (permalink)  
Antiguo 28/12/2004, 13:44
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Fecha entre 2004-11-25 y 2004-11-30Hola, hago esto:

Hola, hago esto:

Código PHP:
SELECT fecha,pais FROM `2004WHERE fecha >= 2004-01-25
SELECT fecha
,pais FROM `2004WHERE fecha >= 2004-01-25 2004-11-30
SELECT fecha
,pais FROM `2004WHERE fecha >= 2004-01-25 AND fecha 2004-11-30
SELECT fecha
,pais FROM `2004WHERE fecha >= 2004-11-25 AND fecha 2004-11-30
SELECT fecha
,pais FROM `2004WHERE fecha >= #2004-11-25# AND fecha < #2004-11-30#
SELECT fecha,pais FROM `2004WHERE fecha BETWEEN 2004-11-25 AND 2004-11-30
SELECT fecha
,pais FROM `2004WHERE fecha >= #2004-01-25# < #2004-11-30#
SELECT fecha,pais FROM `2004WHERE fecha >= #2004/01/25# AND fecha < #2004/11/30# 
Y ninguna de las sentencias me funciona.

¿Como se hace?
  #2 (permalink)  
Antiguo 28/12/2004, 20:26
Avatar de axel_mdq  
Fecha de Ingreso: mayo-2004
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 20 años, 6 meses
Puntos: 0
Despues del from tenes que poner la o las tablas.
Código:
SELECT fecha,pais 
FROM TABLA 
WHERE fecha BETWEEN 2004-11-25 AND 2004-11-30
Donde tabla es la "tabla" de donde sacas la fecha y el pais que devuelve la consulta.
__________________
Saludos,

Alejandro. :adios:
  #3 (permalink)  
Antiguo 28/12/2004, 20:43
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Gracias por la ayuda, pero cuando ejecuto:

Código PHP:
SELECT fecha,pais 
FROM 2004
WHERE fecha BETWEEN 2004
-11-25 AND 2004-11-30 
No me da ningun resultado.

(La tabla se llama 2004).

Como se hara lo de la fecha?...
  #4 (permalink)  
Antiguo 29/12/2004, 03:45
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 21 años, 3 meses
Puntos: 2
Lo primero es poner las fechas entre comillas, como si fueran cadenas de caracteres y lo segundo, el campo fecha ¿de que tipo lo has definido?, las consultas pueden ser diferentes dependiendo del tipo.
Un saludo.
__________________
Estoy contagiado de Generación-I
  #5 (permalink)  
Antiguo 29/12/2004, 06:08
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Gracias,

el campo se llama fecha, es de tipo DATE, predeterminado: 0000-00-00

Y haz dado en el clavo:
Código PHP:
SELECT fechapais
FROM 2004
WHERE fecha
BETWEEN  
"2004-11-28" AND  "2004-11-30" 
Ha funcionado perfecto!.

Ahora diganme, si quiero seleccionar las personas que tengan < de 30 años, debo hacer este tipo de sentencias o mejor creo el campo "edad" y selecciono directamente aquellos que " WHERE edad < 30" ?

Que es lo más recomendable?

Crear un nuevo campo (edad), o realizar este tipo de sentencia?

SAlu2!.
  #6 (permalink)  
Antiguo 29/12/2004, 10:12
Avatar de Kerbeross  
Fecha de Ingreso: octubre-2004
Mensajes: 43
Antigüedad: 20 años, 1 mes
Puntos: 0
En lo personal te sugeriria realizar la sentencia, es decir, tomar parte de la fecha (en este caso el año), hacer la diferencia y devolver aquellos registros cuya diferencia de fechas sea < 30.

La razón es que te ahorras un campo y evitas tener información redundante en tu tabla (porque ese campo lo puedes obtener directamente sin necesidad de almacenarlo)
__________________
" Desea que tus sueños te lleven a donde tu corazón le gustaría estar "
  #7 (permalink)  
Antiguo 29/12/2004, 11:54
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Tines toda la razon, solo que me cruzaba por la cabeza que quizas es "sobrecargar" a MySQL y a PHP.

La BD es + optima sin el campo edad, pero:

¿SE HACE - ESFUERZO SELECCIONANDO campo EDAD < 30?

eN Mi caso prefiero una BD optima.

Salu2!.
  #8 (permalink)  
Antiguo 30/12/2004, 01:29
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 21 años, 3 meses
Puntos: 2
El problema mayor, para mi, no viene tanto por tener un campo más o menos, sino porque la edad no es una constante, sino que varía con el tiempo. Si guardas el campo edad, tendrás siempre la edad del momento del registro.
Por lo demás, la condición edad < 30 no es ningún esfuerzo a mayores.
De todas formas, si quieres hacer un cálculo más preciso de la edad en lugar de usar sólo el año, puedes hacerlo con la función "case" para tener en cuenta el mes y el día de nacimiento.
Un saludo.
__________________
Estoy contagiado de Generación-I

Última edición por Vice; 30/12/2004 a las 01:31
  #9 (permalink)  
Antiguo 30/12/2004, 06:57
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Muy buen argumento, no habia pensado que la edad cambia con el tiempo.... [borracho]...

Y como es esa funcion case?
No la conozco.

Salu2!.
  #10 (permalink)  
Antiguo 30/12/2004, 10:46
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 21 años, 3 meses
Puntos: 2
En el manual la tienes. Es como el switch de php que te permite hacer una condición multiple, de hecho es más completa que el switch de php.
Un saludo.
__________________
Estoy contagiado de Generación-I
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 14:23.