Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Select de meses con valor ?

Estas en el tema de Select de meses con valor ? en el foro de SQL Server en Foros del Web. hola podrian ayudarme en este select: Al mostrar un mes especifico, me mande el valor del mes por ejemplo: Agosto ... valor: 08 Setiembre ... ...
  #1 (permalink)  
Antiguo 07/09/2009, 17:11
 
Fecha de Ingreso: enero-2002
Ubicación: Callao - Perú
Mensajes: 1.127
Antigüedad: 22 años, 4 meses
Puntos: 0
Exclamación Select de meses con valor ?

hola podrian ayudarme en este select:

Al mostrar un mes especifico, me mande el valor del mes por ejemplo:

Agosto ... valor: 08
Setiembre ... valor: 09
Octubre ... valor: 10

En el select que les muestro me manda la info pero cuando el mes tiene solo un digito aumenta un CERO al valor, pero cuando el mes es de 2 digitos TAMBIEN LE AGREGA LOS CEROS, como podria hacer para que solo lo agregue a los meses de un solo digito??

SELECT
REPLICATE('0',5 -DATALENGTH(MONTH(DATEADD(MONTH,-1,GETDATE()))))+
CAST(MONTH(DATEADD(MONTH,-1,GETDATE()))AS VARCHAR(4))
__________________
SaLuDoS dE:
PePeLuChO dEl PeRú PaRa El MuNdO
  #2 (permalink)  
Antiguo 08/09/2009, 09:52
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Select de meses con valor ?

/*
select
replicate('0',4 - datalength(month(dateadd(month,- 1,'2009-12-01'))))+
cast(month(dateadd(month,- 1,'2009-12-01'))as varchar(4))
*/
  #3 (permalink)  
Antiguo 09/09/2009, 08:01
 
Fecha de Ingreso: enero-2002
Ubicación: Callao - Perú
Mensajes: 1.127
Antigüedad: 22 años, 4 meses
Puntos: 0
Respuesta: Select de meses con valor ?

TENGO LA SOLUCION:

DECLARE @INTE INT
DECLARE @VAR VARCHAR(8000)
DECLARE @DATO INT
SET @DATO = 0
SET @VAR =''
SET @INTE=11
WHILE @INTE>=0
BEGIN
SET @DATO = @INTE
SET @VAR = 'SELECT ''' +
REPLICATE('0',2 -LEN(MONTH(DATEADD(MONTH,-@INTE,GETDATE())))) +
CAST(month(DATEADD(MONTH,-@INTE,GETDATE())) AS VARCHAR(4)) +
CAST(YEAR(DATEADD(MONTH,-@INTE,GETDATE())) AS VARCHAR(4)) + ''' [ITEM],''' +
DATENAME(M,DATEADD(MONTH,-@INTE,GETDATE())) + ' ' +
CAST(YEAR(DATEADD(MONTH,-@INTE,GETDATE())) AS VARCHAR(4))+ '''[PERIODO] ' [DATA] UNION ' + @VAR
SET @INTE=@INTE-1

END
SET @VAR= LEFT(@VAR,LEN(@VAR)-5) + ' ORDER BY 3 ASC'

EXEC (@VAR)
__________________
SaLuDoS dE:
PePeLuChO dEl PeRú PaRa El MuNdO
  #4 (permalink)  
Antiguo 09/09/2009, 08:51
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Select de meses con valor ?

Ya hemos dicho por aca, que se debe substituir el EXEC (@Variable), por EXECUTE SP_EXECUTESQL
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:15.