Consulta Simple

01/10/2004 - 15:49 por MasterNet | Informe spam
Hola, la consulta es la siguiente:

En una tabla de SQL Server tengo guardada la fecha, ahora en una consulta
SELECT como podría sacar todos los registros de un determinado mes, tomando
encuenta que en el formulario solo me darán como parámetro el mes, por
ejemplo
septiembre y el año 2004. Pero no una fecha Inicio y una Fecha fin que sería
lo ideal.


Creo que sería algo así:

SELECT * FROM Tabla
WHERE Fecha > AND Fecha <

El problema en cuestión creo que sería definir a partir del mes y el año la
fecha Inicio y fecha Fin para hacer la consulta, pero debe funcionar
automáticamente para todas las opciones posibles. Por ejemplo si es
septiembre y 2004 y yo se que septiembre tiene 30 días entonces la Fecha
Inicio sería: 01/09/2004 a 30/09/2004.

Entonces qué código sería genérico para todas las opciones. O existe otra
forma más fácil.

Preguntas similare

Leer las respuestas

#1 Maxi
01/10/2004 - 15:54 | Informe spam
Hola, mira lo ideal es que la aplicacion ya anvie el parametro completo!!

Pero si lo quieres hacer en el SP vas a tener que usar IF para sacar el
ultimo dia

if @mes = xx
set @dia_din = '30'
..



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



"MasterNet" escribió en el mensaje
news:
Hola, la consulta es la siguiente:

En una tabla de SQL Server tengo guardada la fecha, ahora en una consulta
SELECT como podría sacar todos los registros de un determinado mes,


tomando
encuenta que en el formulario solo me darán como parámetro el mes, por
ejemplo
septiembre y el año 2004. Pero no una fecha Inicio y una Fecha fin que


sería
lo ideal.


Creo que sería algo así:

SELECT * FROM Tabla
WHERE Fecha > AND Fecha <

El problema en cuestión creo que sería definir a partir del mes y el año


la
fecha Inicio y fecha Fin para hacer la consulta, pero debe funcionar
automáticamente para todas las opciones posibles. Por ejemplo si es
septiembre y 2004 y yo se que septiembre tiene 30 días entonces la Fecha
Inicio sería: 01/09/2004 a 30/09/2004.

Entonces qué código sería genérico para todas las opciones. O existe otra
forma más fácil.







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.769 / Virus Database: 516 - Release Date: 24/09/2004
Respuesta Responder a este mensaje
#2 MasterNet
01/10/2004 - 16:06 | Informe spam
Gracias pero no es lo que quiero hacer, simplemente lo que quiero es una
consulta SELECT que me saque todos los registro de todo un mes, pero en el
formulario me darán como datos el mes y el año. La cuestión es llevar esos
datos a la consulta.



"Maxi" escribió en el mensaje
news:%
Hola, mira lo ideal es que la aplicacion ya anvie el parametro completo!!

Pero si lo quieres hacer en el SP vas a tener que usar IF para sacar el
ultimo dia

if @mes = xx
set @dia_din = '30'
..



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



"MasterNet" escribió en el mensaje
news:
> Hola, la consulta es la siguiente:
>
> En una tabla de SQL Server tengo guardada la fecha, ahora en una


consulta
> SELECT como podría sacar todos los registros de un determinado mes,
tomando
> encuenta que en el formulario solo me darán como parámetro el mes, por
> ejemplo
> septiembre y el año 2004. Pero no una fecha Inicio y una Fecha fin que
sería
> lo ideal.
>
>
> Creo que sería algo así:
>
> SELECT * FROM Tabla
> WHERE Fecha > AND Fecha <
>
> El problema en cuestión creo que sería definir a partir del mes y el año
la
> fecha Inicio y fecha Fin para hacer la consulta, pero debe funcionar
> automáticamente para todas las opciones posibles. Por ejemplo si es
> septiembre y 2004 y yo se que septiembre tiene 30 días entonces la Fecha
> Inicio sería: 01/09/2004 a 30/09/2004.
>
> Entonces qué código sería genérico para todas las opciones. O existe


otra
> forma más fácil.
>
>



Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.769 / Virus Database: 516 - Release Date: 24/09/2004


Respuesta Responder a este mensaje
#3 Maxi
01/10/2004 - 16:17 | Informe spam
Hola, revisa la funcion Month contra el campo Fecha


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



"MasterNet" escribió en el mensaje
news:%23aRFO$
Gracias pero no es lo que quiero hacer, simplemente lo que quiero es una
consulta SELECT que me saque todos los registro de todo un mes, pero en el
formulario me darán como datos el mes y el año. La cuestión es llevar esos
datos a la consulta.



"Maxi" escribió en el mensaje
news:%
> Hola, mira lo ideal es que la aplicacion ya anvie el parametro


completo!!
>
> Pero si lo quieres hacer en el SP vas a tener que usar IF para sacar el
> ultimo dia
>
> if @mes = xx
> set @dia_din = '30'
> ..
>
>
>
> 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
>
>
>
> "MasterNet" escribió en el mensaje
> news:
> > Hola, la consulta es la siguiente:
> >
> > En una tabla de SQL Server tengo guardada la fecha, ahora en una
consulta
> > SELECT como podría sacar todos los registros de un determinado mes,
> tomando
> > encuenta que en el formulario solo me darán como parámetro el mes, por
> > ejemplo
> > septiembre y el año 2004. Pero no una fecha Inicio y una Fecha fin que
> sería
> > lo ideal.
> >
> >
> > Creo que sería algo así:
> >
> > SELECT * FROM Tabla
> > WHERE Fecha > AND Fecha <
> >
> > El problema en cuestión creo que sería definir a partir del mes y el


año
> la
> > fecha Inicio y fecha Fin para hacer la consulta, pero debe funcionar
> > automáticamente para todas las opciones posibles. Por ejemplo si es
> > septiembre y 2004 y yo se que septiembre tiene 30 días entonces la


Fecha
> > Inicio sería: 01/09/2004 a 30/09/2004.
> >
> > Entonces qué código sería genérico para todas las opciones. O existe
otra
> > forma más fácil.
> >
> >
>
>
>
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.769 / Virus Database: 516 - Release Date: 24/09/2004
>
>







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.769 / Virus Database: 516 - Release Date: 24/09/2004
Respuesta Responder a este mensaje
#4 MasterNet
01/10/2004 - 16:23 | Informe spam
Ok, Gracias. Ya investigué un poco, y con esa función MONTH ya resuelvo mi
problema.
Respuesta Responder a este mensaje
#5 Manuel Etcheto
01/10/2004 - 16:38 | Informe spam
Hola
La función MONTH te va a hacer escanear toda la tabla...
Tendrías que definir las fechas antes para poder comparar por fecha y
aprovechar un índice,
Algo como
CREATE PROCEDURE dbo.VerRegistrosPorMes
(@anyo smallint, @mes tinyint) AS
BEGIN
SET NOCOUNT ON
DECLARE @inicio datetime, @fin datetime
SELECT @inicio =CONVERT(datetime, CAST(@anyo as char(4)) +
RIGHT('0' + CAST(@mes as varchar(2)),2) + '01', 112) ,
@fin = DATEADD(mm, 1, @inicio)

SELECT campos FROM Tabla WHERE fecha >= @inicio AND fecha < @fin

Suerte
Manuel


MasterNet escribió en el mensaje de noticias
#E$
Ok, Gracias. Ya investigué un poco, y con esa función MONTH ya resuelvo mi
problema.


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida