Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-10-2003
Viet Viet is offline
Miembro
 
Registrado: jul 2003
Ubicación: Argentina - Mar del Plata
Posts: 252
Poder: 23
Viet Va por buen camino
Question SQL - GetDate()

Buenas Colegas!!

Antes que nada saludos a todos.

Bien, estoy trabajando contra MSSQL Server, y mi pregunta es simple.

Tengo que recuperar todos los registros donde el campo fecha sea hoy.
Este campo fecha es DateTime y almacena la fecha y hora de un evento.

Lo estoy tratando de hacer de varias formas pero ninguna me convence.

por ejemplo

en el Where pongo

Código:
 DatePart(dy, fecha)=DatePart(dy, GetDate())
pero esto me trae los reguistros de otros años

tambien probe con

Código:
  Cast(Cast(fecha as int)as datetime)=Cast(Cast(GetDate() as int)as datetime)
esta forma me parece muy rapida y eficiente, pero el problema es que la conversion de GetDate() siempre me da un dia posterir a hoy,
osea, me da GetDate()+1. La verdad que no entiendo por que y no me gustaria qye esto sea un problema de configuracion del server. Y al migrarlo a otro server deba cambiar todos mis SP.

Preguntas

1) es normal que pase eso con GetDate()
2) se les ocurre una mejor forma ?

Saludos
__________________
Marín Ignacio Borthiry (Viet) - "El hombre arriesga su vida cada vez que elije y eso es lo que lo hace libre" ;)
Responder Con Cita
  #2  
Antiguo 30-10-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Cool

No hay una función Trunc() sobre TimeStamp.

No se si es parte del estándar, pero normalmente trunc(TimeStamp) quita la información de hora y deja solamente la fecha, por lo que

Trunc(fecha) = Trunc(GetDate())

debiera funcionar...

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 30-10-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 27
__cadetill Va por buen camino
Cita:
Posteado originalmente por Viet
1) es normal que pase eso con GetDate()
Pues la verdad no lo se, nunca he utilizado GetDate()

Cita:
Posteado originalmente por Viet
2) se les ocurre una mejor forma ?
Prueba con esto a ver

Código:
Cast(fecha as date) = Cast(GetDate() as date)
Espero te sirva
Responder Con Cita
  #4  
Antiguo 30-10-2003
Viet Viet is offline
Miembro
 
Registrado: jul 2003
Ubicación: Argentina - Mar del Plata
Posts: 252
Poder: 23
Viet Va por buen camino
Gracias a ambos por sus respuestas, pero lamentablemente en MSSQL Server (6.5), no existe

ni Trunc , ni el tipo date......

...... asi que por ahora lo mejor que encontre es
Código:
 
DatePart(dy, fecha)=DatePart(dy, GetDate()) 
and (Year(fecha)=Year(GetDate()))
pero me parece un analisis demaciado costoso , para algo tan simple... sigo a la escucha de sugerencias..


__________________
Marín Ignacio Borthiry (Viet) - "El hombre arriesga su vida cada vez que elije y eso es lo que lo hace libre" ;)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:39:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi