Array
(
)

Consultar Meses

Rbfonseca
   - 29 out 2008

Boa tarde,

estou precisando montar um select que me retorne o seguinte.

Em um periodo de Datas entre 01/2008 a 12/2008, suponhamos que os meses 03/2008, 08/2008 e 11/2008 não haja registro.

tem como montar esse retorno via SQL??

Algum amigo poderia me dar uma dica?

no aguardo
Raphael

Codename.v
   - 31 out 2008

Use algo como o seguinte:

#Código

declare @variavel as smallint
declare @compara as smallint

set @variavel = 1

while(@variavel <= 12)
begin
        set @compara = (select distinct Month(t.CampoData) from Tabela t where Month(t.CampoData) = @variavel)

        if(@compara is null)
print @variavel

        set @variavel = @variavel + 1
end


Temos duas variáveis uma que será utilizada como um contador de 1 até 12 (12 meses) e outra que sera utilizada para armazenar os meses que estão cadastrados. Se a variável compara for null significca que o mês não está cadastrado e então ele sera exibido para o usuário. Caso contrário nada acontece.

Obs.: Através do método Month(CampoDaTabela) é possivel pegar apenas o mês de um campo do tipo Date.

T+