Selects de fechas?

30/07/2004 - 09:39 por XusQ | Informe spam
Buenos días,

Si intento hacer algo como SELECT fechaCumpleanos FROM amigo WHERE
fecha='29/10/1980'

Esto no funciona... porque? porque compara las fechas de
amigo.fechaCumpleanos con '29/10/1980 00:00:00'
y si hay amgigos con fecha '29/10/1980 00:00:01' considera que son fechas
distintas...

como se soluciona esto de forma simple?

Gracias!

Xus.

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
30/07/2004 - 10:03 | Informe spam
Deberías usar DATEDIFF para comparar fechas. Mira en los BOL información
sobre la sintaxis de su uso.

Otra opción es, ya que no vas a usar la hora de la fecha de nacimiento,
convertir ese campo a un alfanumérico de 8 posiciones para almacenar la
fecha de nacimiento en formato ANSI (aaaammdd).


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"XusQ" escribió en el mensaje
news:#
Buenos días,

Si intento hacer algo como SELECT fechaCumpleanos FROM amigo WHERE
fecha='29/10/1980'

Esto no funciona... porque? porque compara las fechas de
amigo.fechaCumpleanos con '29/10/1980 00:00:00'
y si hay amgigos con fecha '29/10/1980 00:00:01' considera que son fechas
distintas...

como se soluciona esto de forma simple?

Gracias!

Xus.


Respuesta Responder a este mensaje
#2 XusQ
30/07/2004 - 10:58 | Informe spam
Lo del datediff me parece una buena solución para este caso... pero si por
ejemplo fuera

SELECT fechaCumpleanos FROM amigo WHERE fecha>='29/10/1980' AND fecha
<='25/12/2004' con el datediff se complica y mucho el tema.

Y lo del ANSI() la ayuda del SQL no me la lmuestra como función...

Gracias.



"Carlos Sacristan" <csacristan ARROBA mvps.org> escribió en el mensaje
news:
Deberías usar DATEDIFF para comparar fechas. Mira en los BOL


información
sobre la sintaxis de su uso.

Otra opción es, ya que no vas a usar la hora de la fecha de


nacimiento,
convertir ese campo a un alfanumérico de 8 posiciones para almacenar la
fecha de nacimiento en formato ANSI (aaaammdd).


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"XusQ" escribió en el mensaje
news:#
> Buenos días,
>
> Si intento hacer algo como SELECT fechaCumpleanos FROM amigo WHERE
> fecha='29/10/1980'
>
> Esto no funciona... porque? porque compara las fechas de
> amigo.fechaCumpleanos con '29/10/1980 00:00:00'
> y si hay amgigos con fecha '29/10/1980 00:00:01' considera que son


fechas
> distintas...
>
> como se soluciona esto de forma simple?
>
> Gracias!
>
> Xus.
>
>


Respuesta Responder a este mensaje
#3 Carlos Sacristan
30/07/2004 - 11:06 | Informe spam
Con ANSI no me refería a una función, sino a un formato que todos los
gestores lo interpretarán correctamente porque es univeral. Si tu campo es
DATETIME, puedes hacer la siguiente consulta para mostrarla en ese formato:

SELECT CONVERT(CHAR(8),tuFecha,112) FROM tuTabla

Y si haces lo que te comentaba (convertirlo a un alfanumérico),
actualízalo utilizando lo de antes y ya podrías ejecutar correctamente la
sentencia:

SELECT fechaCumpleanos FROM amigo WHERE fecha>='19801029' AND fecha
<='20041225'


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"XusQ" escribió en el mensaje
news:ef$
Lo del datediff me parece una buena solución para este caso... pero si por
ejemplo fuera

SELECT fechaCumpleanos FROM amigo WHERE fecha>='29/10/1980' AND fecha
<='25/12/2004' con el datediff se complica y mucho el tema.

Y lo del ANSI() la ayuda del SQL no me la lmuestra como función...

Gracias.



"Carlos Sacristan" <csacristan ARROBA mvps.org> escribió en el mensaje
news:
> Deberías usar DATEDIFF para comparar fechas. Mira en los BOL
información
> sobre la sintaxis de su uso.
>
> Otra opción es, ya que no vas a usar la hora de la fecha de
nacimiento,
> convertir ese campo a un alfanumérico de 8 posiciones para almacenar la
> fecha de nacimiento en formato ANSI (aaaammdd).
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> Por favor, responder únicamente al foro
> Se agradece la inclusión de sentencias DDL
>
>
> "XusQ" escribió en el mensaje
> news:#
> > Buenos días,
> >
> > Si intento hacer algo como SELECT fechaCumpleanos FROM amigo WHERE
> > fecha='29/10/1980'
> >
> > Esto no funciona... porque? porque compara las fechas de
> > amigo.fechaCumpleanos con '29/10/1980 00:00:00'
> > y si hay amgigos con fecha '29/10/1980 00:00:01' considera que son
fechas
> > distintas...
> >
> > como se soluciona esto de forma simple?
> >
> > Gracias!
> >
> > Xus.
> >
> >
>
>


Respuesta Responder a este mensaje
#4 Pablo Fabian Savino
30/07/2004 - 13:26 | Informe spam
Usa las fechas en formato ANSII (yyyymmdd) y no tendras problemas

"XusQ" wrote in message
news:%
Buenos días,

Si intento hacer algo como SELECT fechaCumpleanos FROM amigo WHERE
fecha='29/10/1980'

Esto no funciona... porque? porque compara las fechas de
amigo.fechaCumpleanos con '29/10/1980 00:00:00'
y si hay amgigos con fecha '29/10/1980 00:00:01' considera que son fechas
distintas...

como se soluciona esto de forma simple?

Gracias!

Xus.


Respuesta Responder a este mensaje
#5 Maxi
30/07/2004 - 14:19 | Informe spam
Hola, mirate este articulo donde trato de explicar el uso de Fechas con
SQL-SERVER,
un abrazo

http://www.microsoft.com/spanish/ms...art157.asp

Bye


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"XusQ" escribió en el mensaje
news:%
Buenos días,

Si intento hacer algo como SELECT fechaCumpleanos FROM amigo WHERE
fecha='29/10/1980'

Esto no funciona... porque? porque compara las fechas de
amigo.fechaCumpleanos con '29/10/1980 00:00:00'
y si hay amgigos con fecha '29/10/1980 00:00:01' considera que son fechas
distintas...

como se soluciona esto de forma simple?

Gracias!

Xus.







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.722 / Virus Database: 478 - Release Date: 19/07/2004
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida