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
 

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


Preguntas similares