consulta sobre parte de un campo

04/07/2006 - 18:20 por Erick Sanchez | Informe spam
saludos
quiero hacer una consulta para saber cuantos registros fueron ingresados en
una determinada fecha, pero da la casualidad que el programa me guarda la
fecha de ingreso del registro mas la hora del mismo en el mismo campo fecha
de esta manera '2006-07-04 09:40:09.000' al tratar de hacer el select hago
esto
select * from tabla1 where user = 'nancy' and insertdate= '2006-07-04' order
by inserdate

al hacerlo asi no me muestra nada logicamente por que espera que le agrege
la hora
como puedo hacer para que consultar una parte del campo.

Preguntas similare

Leer las respuestas

#1 Victor Koch
04/07/2006 - 18:26 | Informe spam
select * from tabla1 where user = 'nancy' and insertdate>= '2006-07-04' AND
insertdate<'2006-07-05' order
by inserdate

Un saludo, Víctor Koch.


"Erick Sanchez" escribió en el mensaje
news:
saludos
quiero hacer una consulta para saber cuantos registros fueron ingresados


en
una determinada fecha, pero da la casualidad que el programa me guarda la
fecha de ingreso del registro mas la hora del mismo en el mismo campo


fecha
de esta manera '2006-07-04 09:40:09.000' al tratar de hacer el select hago
esto
select * from tabla1 where user = 'nancy' and insertdate= '2006-07-04'


order
by inserdate

al hacerlo asi no me muestra nada logicamente por que espera que le agrege
la hora
como puedo hacer para que consultar una parte del campo.



Respuesta Responder a este mensaje
#2 Erick Sanchez
04/07/2006 - 18:51 | Informe spam
Victor de esa manera tambien manda campos en blanco. le quite el user que
esta despues del where y me salen datos pero que no tienen nada que ver con
la fecha.

"Victor Koch" <v i c t o r (arroba)correo(punto)waldbott(punto)com(punto)ar>
escribió en el mensaje news:%

select * from tabla1 where user = 'nancy' and insertdate>= '2006-07-04'
AND
insertdate<'2006-07-05' order
by inserdate

Un saludo, Víctor Koch.


"Erick Sanchez" escribió en el mensaje
news:
saludos
quiero hacer una consulta para saber cuantos registros fueron ingresados


en
una determinada fecha, pero da la casualidad que el programa me guarda la
fecha de ingreso del registro mas la hora del mismo en el mismo campo


fecha
de esta manera '2006-07-04 09:40:09.000' al tratar de hacer el select
hago
esto
select * from tabla1 where user = 'nancy' and insertdate= '2006-07-04'


order
by inserdate

al hacerlo asi no me muestra nada logicamente por que espera que le
agrege
la hora
como puedo hacer para que consultar una parte del campo.








Respuesta Responder a este mensaje
#3 Victor Koch
04/07/2006 - 19:02 | Informe spam
select * from tabla1 where user = 'nancy' and (insertdate>= '2006-07-04' AND
insertdate<'2006-07-05' AND insertdate IS NOT NULL) order by inserdate

Un saludo, Víctor Koch.


"Erick Sanchez" escribió en el mensaje
news:#
Victor de esa manera tambien manda campos en blanco. le quite el user que
esta despues del where y me salen datos pero que no tienen nada que ver


con
la fecha.

"Victor Koch" <v i c t o r


(arroba)correo(punto)waldbott(punto)com(punto)ar>
escribió en el mensaje news:%
>
> select * from tabla1 where user = 'nancy' and insertdate>= '2006-07-04'
> AND
> insertdate<'2006-07-05' order
> by inserdate
>
> Un saludo, Víctor Koch.
>
>
> "Erick Sanchez" escribió en el mensaje
> news:
>> saludos
>> quiero hacer una consulta para saber cuantos registros fueron


ingresados
> en
>> una determinada fecha, pero da la casualidad que el programa me guarda


la
>> fecha de ingreso del registro mas la hora del mismo en el mismo campo
> fecha
>> de esta manera '2006-07-04 09:40:09.000' al tratar de hacer el select
>> hago
>> esto
>> select * from tabla1 where user = 'nancy' and insertdate= '2006-07-04'
> order
>> by inserdate
>>
>> al hacerlo asi no me muestra nada logicamente por que espera que le
>> agrege
>> la hora
>> como puedo hacer para que consultar una parte del campo.
>>
>>
>>
>
>
>



Respuesta Responder a este mensaje
#4 Jorge Gonzalez
04/07/2006 - 22:51 | Informe spam
Erick

Si el objetivo del campo es almacenar solamente la fecha de inserción, sería
bien sencillo actualizar tu campo y tu aplicación para que se guarde la
fecha con la hora 00:00:00 que es el estandar. De esa forma podrías hacer lo
que deseas. Pero si es requisito almacenar también lahora, pues ni modo.

Luego tenés 2 maneras de hacer lo que buscás:

1. Incluir en tu consulta rangos de hora dentro del día.
SELECT *
FROM tabla1
WHERE user = 'nancy' AND ( insertdate >= '2006.07.04 00.00.01' AND
insertdate <='2006.07.04 23.59.59')
ORDER BY inserdate

2. Formatear tu campo para que sólo incluya la fecha
SELECT *
FROM tabla1
WHERE user = 'nancy' AND ( CONVERT( DATETIME, insertdate , 102) =
'2006.07.04')
ORDER BY inserdate

de estas 2 la mejor es la primera ya que en caso de tener índices sobre el
campo insertdate, es casi seguro que en el caso 2 el optimizador de
consultas no los va a tomar en cuenta debido a la conversión mientras que en
el caso 1 si lo haría.


Saludos

Jorge González

"Erick Sanchez" escribió en el mensaje
news:
saludos
quiero hacer una consulta para saber cuantos registros fueron ingresados
en una determinada fecha, pero da la casualidad que el programa me guarda
la fecha de ingreso del registro mas la hora del mismo en el mismo campo
fecha de esta manera '2006-07-04 09:40:09.000' al tratar de hacer el
select hago esto
select * from tabla1 where user = 'nancy' and insertdate= '2006-07-04'
order by inserdate

al hacerlo asi no me muestra nada logicamente por que espera que le agrege
la hora
como puedo hacer para que consultar una parte del campo.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida