Varchars para fechas en consultas

18/06/2005 - 18:27 por Napoleón Cabrera | Informe spam
Hola gente... en un SP tengo algo como esto...

@diaR integer, @mesR integer, @anoR integer,
@sdiaR varchar(2), @sMesR varchar(2),
@sFecNat varchar(10)

select @diaR = 31
select @mesR = 1
select @anoR = 2005

es lo mejor para llevar al formato desado, lo se, pero no se hacerlo de otra
forma)
if len( @diaR ) <2
begin select @sdiaR = '0' + cast ( @diaR as varchar(2) ) end
else
begin select @sdiaR = cast ( @diaR as varchar(2) ) end

if len( @mesR ) <2
begin select @smesR = '0' + cast ( @mesR as varchar(2) ) end
else
begin select @smesR = cast ( @mesR as varchar(2) ) end

select @sFecNat = cast(@anoR as varchar(4)) + '-' + @smesR + '-' + @sdiaR
PRINT @sFecNat --Se imprime en pantalla correctamente, en el formato que
deseo >>2005-01-31

El problema es que cuando usar esta fecha resultante para hacer una consulta
no me devuelve ningun resultado (solo ceros) cuando éstos deberían ser
diferentes.

Espero me puedan ayudar.
Muchísimas gracias!

Napoleón Cabrera

Preguntas similare

Leer las respuestas

#1 Maxi
18/06/2005 - 18:42 | Informe spam
No te he comprendido el problema :(


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

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

"Napoleón Cabrera" <berncab*sin esto*@*ni esto*hotmail.com*ni esto*>
escribió en el mensaje news:
Hola gente... en un SP tengo algo como esto...

@diaR integer, @mesR integer, @anoR integer,
@sdiaR varchar(2), @sMesR varchar(2),
@sFecNat varchar(10)

obtengo...
select @diaR = 31
select @mesR = 1
select @anoR = 2005

(no es lo mejor para llevar al formato desado, lo se, pero no se hacerlo
de otra forma)
if len( @diaR ) <2
begin select @sdiaR = '0' + cast ( @diaR as varchar(2) ) end
else
begin select @sdiaR = cast ( @diaR as varchar(2) ) end

if len( @mesR ) <2
begin select @smesR = '0' + cast ( @mesR as varchar(2) ) end
else
begin select @smesR = cast ( @mesR as varchar(2) ) end

select @sFecNat = cast(@anoR as varchar(4)) + '-' + @smesR + '-' + @sdiaR
PRINT @sFecNat --Se imprime en pantalla correctamente, en el formato
que deseo >>2005-01-31

El problema es que cuando usar esta fecha resultante para hacer una
consulta no me devuelve ningun resultado (solo ceros) cuando éstos
deberían ser diferentes.

Espero me puedan ayudar.
Muchísimas gracias!

Napoleón Cabrera


Respuesta Responder a este mensaje
#2 Napoleón Cabrera
18/06/2005 - 19:01 | Informe spam
Maxi:

Que el SELECT parece que ignora la cadena de fecha final que genero.

Saludos!
Napoleón Cabrera

"Maxi" escribió en el mensaje
news:
No te he comprendido el problema :(


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

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

"Napoleón Cabrera" <berncab*sin esto*@*ni esto*hotmail.com*ni esto*>
escribió en el mensaje news:
Hola gente... en un SP tengo algo como esto...

@diaR integer, @mesR integer, @anoR integer,
@sdiaR varchar(2), @sMesR varchar(2),
@sFecNat varchar(10)

obtengo...
select @diaR = 31
select @mesR = 1
select @anoR = 2005

es lo mejor para llevar al formato desado, lo se, pero no se hacerlo de
otra forma)
if len( @diaR ) <2
begin select @sdiaR = '0' + cast ( @diaR as varchar(2) ) end
else
begin select @sdiaR = cast ( @diaR as varchar(2) ) end

if len( @mesR ) <2
begin select @smesR = '0' + cast ( @mesR as varchar(2) ) end
else
begin select @smesR = cast ( @mesR as varchar(2) ) end

select @sFecNat = cast(@anoR as varchar(4)) + '-' + @smesR + '-' +
@sdiaR
PRINT @sFecNat --Se imprime en pantalla correctamente, en el formato
que deseo >>2005-01-31

El problema es que cuando usar esta fecha resultante para hacer una
consulta no me devuelve ningun resultado (solo ceros) cuando éstos
deberían ser diferentes.

Espero me puedan ayudar.
Muchísimas gracias!

Napoleón Cabrera






Respuesta Responder a este mensaje
#3 Maxi
18/06/2005 - 19:09 | Informe spam
Cual select?


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

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

"Napoleón Cabrera" <berncab*sin esto*@*ni esto*hotmail.com*ni esto*>
escribió en el mensaje news:
Maxi:

Que el SELECT parece que ignora la cadena de fecha final que genero.

Saludos!
Napoleón Cabrera

"Maxi" escribió en el mensaje
news:
No te he comprendido el problema :(


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

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

"Napoleón Cabrera" <berncab*sin esto*@*ni esto*hotmail.com*ni esto*>
escribió en el mensaje news:
Hola gente... en un SP tengo algo como esto...

@diaR integer, @mesR integer, @anoR integer,
@sdiaR varchar(2), @sMesR varchar(2),
@sFecNat varchar(10)

obtengo...
select @diaR = 31
select @mesR = 1
select @anoR = 2005

(no es lo mejor para llevar al formato desado, lo se, pero no se hacerlo
de otra forma)
if len( @diaR ) <2
begin select @sdiaR = '0' + cast ( @diaR as varchar(2) ) end
else
begin select @sdiaR = cast ( @diaR as varchar(2) ) end

if len( @mesR ) <2
begin select @smesR = '0' + cast ( @mesR as varchar(2) ) end
else
begin select @smesR = cast ( @mesR as varchar(2) ) end

select @sFecNat = cast(@anoR as varchar(4)) + '-' + @smesR + '-' +
@sdiaR
PRINT @sFecNat --Se imprime en pantalla correctamente, en el formato
que deseo >>2005-01-31

El problema es que cuando usar esta fecha resultante para hacer una
consulta no me devuelve ningun resultado (solo ceros) cuando éstos
deberían ser diferentes.

Espero me puedan ayudar.
Muchísimas gracias!

Napoleón Cabrera










Respuesta Responder a este mensaje
#4 Napoleón Cabrera
18/06/2005 - 19:19 | Informe spam
Un SELECT que vendría después de la lista que expuse (supuse que se
entenderia)...
o sea algo asi como ...

SELECT ventas FROM una_tabla WHERE fecha = @sFecNat
Esto me debería devolver valores como
ventas

1500.20
1344.44
4800.24

pero me está arrojando...
ventas

0.00
0.00
0.00

Perdón si no fui claro. Gracias otra vez!

"Maxi" escribió en el mensaje
news:%
Cual select?


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

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

"Napoleón Cabrera" <berncab*sin esto*@*ni esto*hotmail.com*ni esto*>
escribió en el mensaje news:
Maxi:

Que el SELECT parece que ignora la cadena de fecha final que genero.

Saludos!
Napoleón Cabrera

"Maxi" escribió en el mensaje
news:
No te he comprendido el problema :(


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

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

"Napoleón Cabrera" <berncab*sin esto*@*ni esto*hotmail.com*ni esto*>
escribió en el mensaje news:
Hola gente... en un SP tengo algo como esto...

@diaR integer, @mesR integer, @anoR integer,
@sdiaR varchar(2), @sMesR varchar(2),
@sFecNat varchar(10)

obtengo...
select @diaR = 31
select @mesR = 1
select @anoR = 2005

(no es lo mejor para llevar al formato desado, lo se, pero no se
hacerlo de otra forma)
if len( @diaR ) <2
begin select @sdiaR = '0' + cast ( @diaR as varchar(2) ) end
else
begin select @sdiaR = cast ( @diaR as varchar(2) ) end

if len( @mesR ) <2
begin select @smesR = '0' + cast ( @mesR as varchar(2) ) end
else
begin select @smesR = cast ( @mesR as varchar(2) ) end

select @sFecNat = cast(@anoR as varchar(4)) + '-' + @smesR + '-' +
@sdiaR
PRINT @sFecNat --Se imprime en pantalla correctamente, en el
formato que deseo >>2005-01-31

El problema es que cuando usar esta fecha resultante para hacer una
consulta no me devuelve ningun resultado (solo ceros) cuando éstos
deberían ser diferentes.

Espero me puedan ayudar.
Muchísimas gracias!

Napoleón Cabrera














Respuesta Responder a este mensaje
#5 Maxi
18/06/2005 - 19:53 | Informe spam
aja, es que ahi tienes el problema, prueba haciendo asi ese select:


SELECT ventas FROM una_tabla WHERE fecha >= @sFecNat and fecha < @sFecNAT +
1




Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

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

"Napoleón Cabrera" <berncab*sin esto*@*ni esto*hotmail.com*ni esto*>
escribió en el mensaje news:
Un SELECT que vendría después de la lista que expuse (supuse que se
entenderia)...
o sea algo asi como ...

SELECT ventas FROM una_tabla WHERE fecha = @sFecNat
Esto me debería devolver valores como
ventas

1500.20
1344.44
4800.24

pero me está arrojando...
ventas

0.00
0.00
0.00

Perdón si no fui claro. Gracias otra vez!

"Maxi" escribió en el mensaje
news:%
Cual select?


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

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

"Napoleón Cabrera" <berncab*sin esto*@*ni esto*hotmail.com*ni esto*>
escribió en el mensaje news:
Maxi:

Que el SELECT parece que ignora la cadena de fecha final que genero.

Saludos!
Napoleón Cabrera

"Maxi" escribió en el mensaje
news:
No te he comprendido el problema :(


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

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

"Napoleón Cabrera" <berncab*sin esto*@*ni esto*hotmail.com*ni esto*>
escribió en el mensaje news:
Hola gente... en un SP tengo algo como esto...

@diaR integer, @mesR integer, @anoR integer,
@sdiaR varchar(2), @sMesR varchar(2),
@sFecNat varchar(10)

obtengo...
select @diaR = 31
select @mesR = 1
select @anoR = 2005

(no es lo mejor para llevar al formato desado, lo se, pero no se
hacerlo de otra forma)
if len( @diaR ) <2
begin select @sdiaR = '0' + cast ( @diaR as varchar(2) ) end
else
begin select @sdiaR = cast ( @diaR as varchar(2) ) end

if len( @mesR ) <2
begin select @smesR = '0' + cast ( @mesR as varchar(2) ) end
else
begin select @smesR = cast ( @mesR as varchar(2) ) end

select @sFecNat = cast(@anoR as varchar(4)) + '-' + @smesR + '-' +
@sdiaR
PRINT @sFecNat --Se imprime en pantalla correctamente, en el
formato que deseo >>2005-01-31

El problema es que cuando usar esta fecha resultante para hacer una
consulta no me devuelve ningun resultado (solo ceros) cuando éstos
deberían ser diferentes.

Espero me puedan ayudar.
Muchísimas gracias!

Napoleón Cabrera


















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