Devolver un datetime en un procedimiento almacenado cadena a datetime

15/02/2007 - 13:29 por Javi 3D .Net | Informe spam
hola ,
Quiero hacer un procedimeinto almacenado q convierte cadena a datetime
ya esta hecha la logica bueno lo pongo por si a alguen le va bien ,
ahora quiero que me devuelva el valor.
cadena tiene el formatto ddmmaaaa y hora hhmmss

CREATE PROCEDURE CONVIERTESTRINGENDATETIME
@fechastr VARCHAR(10),
@HORA VARCHAR(10)

AS
DECLARE @HORAS AS VARCHAR(2)
DECLARE @MIN AS VARCHAR(2)
DECLARE @SEG AS VARCHAR(2)
DECLARE @FECHA DATETIME



select @fechastr = right(@fechastr, 4) + substring(@fechastr, 3,
2) + left(@fechastr, 2)
select @fecha = convert(varchar(10), cast(@fechastr as datetime),
103)

select @horas = substring(@hora,1,2)
select @min = substring(@hora,3,2)
select @seg = substring(@hora,5,2)

select @fecha = dateadd(hh,cast(@horas as int),@fecha)
select @Fecha = dateadd(mi,cast(@min as int),@fecha)
select @fecha = dateadd(ss,cast(@seg as int),@fecha)

RETURN select @fecha = dateadd(ss,cast(@seg as int),@fecha)
GO
 

Leer las respuestas

#1 Javi 3D .Net
15/02/2007 - 15:16 | Informe spam
Javi 3D .Net ha escrito:
hola ,
Quiero hacer un procedimeinto almacenado q convierte cadena a datetime
ya esta hecha la logica bueno lo pongo por si a alguen le va bien ,
ahora quiero que me devuelva el valor.
cadena tiene el formatto ddmmaaaa y hora hhmmss

CREATE PROCEDURE CONVIERTESTRINGENDATETIME
@fechastr VARCHAR(10),
@HORA VARCHAR(10)

AS
DECLARE @HORAS AS VARCHAR(2)
DECLARE @MIN AS VARCHAR(2)
DECLARE @SEG AS VARCHAR(2)
DECLARE @FECHA DATETIME



select @fechastr = right(@fechastr, 4) + substring(@fechastr, 3,
2) + left(@fechastr, 2)
select @fecha = convert(varchar(10), cast(@fechastr as datetime),
103)

select @horas = substring(@hora,1,2)
select @min = substring(@hora,3,2)
select @seg = substring(@hora,5,2)

select @fecha = dateadd(hh,cast(@horas as int),@fecha)
select @Fecha = dateadd(mi,cast(@min as int),@fecha)
select @fecha = dateadd(ss,cast(@seg as int),@fecha)

RETURN select @fecha = dateadd(ss,cast(@seg as int),@fecha)
GO



OK SELECT @FECHA

Preguntas similares