haber, prueba con lo siguiente:
Código SQL:
Ver originalDECLARE @FECHAINICIAL DATETIME
DECLARE @FECHAFINAL DATETIME
DECLARE @PERIODO_INICIAL INT
DECLARE @PERIODO_FINAL INT
DECLARE @PIc VARCHAR(10)
DECLARE @PFc VARCHAR(10)
SET @PERIODO_INICIAL ='201002'
SET @PERIODO_FINAL = '201004'
--convierto de entero a caracter
SET @PIc = CONVERT(VARCHAR, @PERIODO_INICIAL)
SET @PFc = CONVERT(VARCHAR, @PERIODO_FINAL)
--conpongo la cadena
SET @PIc = SUBSTRING( @PIc ,1,4)+'-'+SUBSTRING( @PIc ,5,6)+'-01'
SET @PFc = SUBSTRING( @PFc ,1,4)+'-'+SUBSTRING( @PFc ,5,6)+'-01'
--convierto a datetime la cadena
SET @FECHAINICIAL = CONVERT(datetime,@PIc,103)
--a la fecha final, le sumo un mes y le resto un dia
SET @FECHAFINAL = dateadd( MONTH,1,@PFc) -1
--Vemos los resultados
SELECT
@FECHAINICIAL AS [Fecha Arreglada F_Inicial]
,@FECHAFINAL AS [Fecha Arreglada F_Final]
,CONVERT(VARCHAR(10),@FECHAINICIAL,105) AS [Tu Formato F_Inicial]
,CONVERT(VARCHAR(10),@FECHAFINAL,105) AS [Tu Formato F_Final]
es un poco rudimentario, pero creo que seria funcional