Select unico registro

27/07/2005 - 23:15 por ««« Sis »»» | Informe spam
hola buenas tardes haber si alguien me puede orientar para hacer un select
que me devuelva los resgistro del dia de hoy..

estoy haciendo esto, pero me devuelve todos los registros de mayor a menor

select * from monitorenvio order by tiempo desc
el campo tiempo es el que tiene la fecha del registro.

sdos.

Preguntas similare

Leer las respuestas

#1 Isaias
28/07/2005 - 01:18 | Informe spam
** Solo si son los REGISTROS DE HOY **

select * from monitorenvio
WHERE convert(char(8), tiempo,112)= convert(char(8), GETDATE()112)
Respuesta Responder a este mensaje
#2 Maxi
28/07/2005 - 02:08 | Informe spam
no no no!! este tipo de codigos no usaran los indices y se pondra la cosa
muy lento.

Recomiendo:


select * from monitorenvio
WHERE tiempo >= convert(char(8), getdate(),112) and tiempo <
convert(char(8), GETDATE() + 1, 112)



Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Isaias" escribió en el mensaje
news:

** Solo si son los REGISTROS DE HOY **

select * from monitorenvio
WHERE convert(char(8), tiempo,112)= convert(char(8), GETDATE()112)
Respuesta Responder a este mensaje
#3 Salvador Ramos
29/07/2005 - 14:53 | Informe spam
Efectivamente el código de Maxi es mucho más eficiente, y a ello me gustaría
añadir un comentario sobre buenas prácticas: siempre que te sea posible en
estos casos debes evitar hacer conversiones en los tipos de datos
procedentes de las tablas, ya que estas conversiones pueden provocar el que
no se utilice algún indice por esa columna.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"Maxi" escribió en el mensaje
news:
no no no!! este tipo de codigos no usaran los indices y se pondra la cosa
muy lento.

Recomiendo:


select * from monitorenvio
WHERE tiempo >= convert(char(8), getdate(),112) and tiempo <
convert(char(8), GETDATE() + 1, 112)



Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Isaias" escribió en el mensaje
news:

** Solo si son los REGISTROS DE HOY **

select * from monitorenvio
WHERE convert(char(8), tiempo,112)= convert(char(8), GETDATE()112)




Respuesta Responder a este mensaje
#4 Maxi
29/07/2005 - 15:04 | Informe spam
Yo le agregaria una cosilla mas, no usar funciones para los campos como

Datepart(campo) = 'loquesea' esto NO USA LOS INDICES :(


Salu2
Maxi


"Salvador Ramos" escribió en el
mensaje news:%
Efectivamente el código de Maxi es mucho más eficiente, y a ello me
gustaría añadir un comentario sobre buenas prácticas: siempre que te sea
posible en estos casos debes evitar hacer conversiones en los tipos de
datos procedentes de las tablas, ya que estas conversiones pueden provocar
el que no se utilice algún indice por esa columna.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"Maxi" escribió en el mensaje
news:
no no no!! este tipo de codigos no usaran los indices y se pondra la cosa
muy lento.

Recomiendo:


select * from monitorenvio
WHERE tiempo >= convert(char(8), getdate(),112) and tiempo <
convert(char(8), GETDATE() + 1, 112)



Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Isaias" escribió en el mensaje
news:

** Solo si son los REGISTROS DE HOY **

select * from monitorenvio
WHERE convert(char(8), tiempo,112)= convert(char(8), GETDATE()112)








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