Consulta sobre semana actual

02/02/2007 - 13:05 por Firefox | Informe spam
Hola amigos me gustaria saber si el SQL permite determinar en una
consulta los datos contenidos en la semana actual (de Lunes a
Domingo). Como se puede hacer esto ?. Mi Gracias :D

Preguntas similare

Leer las respuestas

#1 Rubén Vigón
02/02/2007 - 13:26 | Informe spam
Hola "Firefox",

Sólo tienes que usar «DatePart» junto a «week»; por ejemplo:

SELECT * FROM Pedidos WHERE DatePart(week, FechaPedido) = DatePart(week, GetDate())

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvps.org
Respuesta Responder a este mensaje
#2 Firefox
02/02/2007 - 14:26 | Informe spam
On 2 feb, 08:26, Rubén Vigón wrote:
Hola "Firefox",

Sólo tienes que usar «DatePart» junto a «week»; por ejemplo:

SELECT * FROM Pedidos WHERE DatePart(week, FechaPedido) = DatePart(week, GetDate())

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basichttp://vigon.mvps.org



Gracias :D
Respuesta Responder a este mensaje
#3 Maxi
02/02/2007 - 14:29 | Informe spam
Hola mucho ojo con este tipo de instrucciones, si en un where se pone una
funcion en la izquierda hara que no se utilicen los indices de forma
eficiente.
Yo en estos casos prefiero poner un campo calculado que tenga la semana y
luego hacerle un indice a ese campo calculado, por ultimo mi where quedaria
algo asi como

select campos from tabla where semana = 5


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Rubén Vigón" escribió en el mensaje
news:%
Hola "Firefox",

Sólo tienes que usar «DatePart» junto a «week»; por ejemplo:

SELECT * FROM Pedidos WHERE DatePart(week, FechaPedido) = DatePart(week,
GetDate())

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvps.org
Respuesta Responder a este mensaje
#4 Alejandro Mesa
02/02/2007 - 15:27 | Informe spam
Firefox,

Siempre ten en cuenta si tu aplicacion se va a usar solo en tu pais o en
otros paises. Recuerda que muchas de estas funciones de fecha (datepart,
datename, etc.) dependen del valor de @@DATEFIRST y esta no es la misma en
todos los paises. La funcion DATENAME devuelve el nombre de acuerdo a
lenguaje usado y no creo qye sea practico comparar su resultado con cuanto
lenguaje tengamos en este planeta.

..
where datename(weekday) in ('Lunes', 'Monday', ...)

Existen formulas para hacer esos calculos, pero ten en cuenta tambien el
comentario de Maxi, puesto que SQL Server no considerara esas expresiones
como argumentos de busqueda y por la tanto no hara analisis de las
estadisticas de distribucion de indices cuya clave este conformada por las
columnas manipuladas en la expresion usada, a la hora de escojer el plan de
ejecucion de la sentencia.

Una forma muy usada es el uso de una tabla calendario.

Why should I consider using an auxiliary calendar table?
http://sqlserver2000.databases.aspf...table.html


AMB


"Firefox" wrote:

Hola amigos me gustaria saber si el SQL permite determinar en una
consulta los datos contenidos en la semana actual (de Lunes a
Domingo). Como se puede hacer esto ?. Mi Gracias :D


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