Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ilano

Exibir tabela com todas as datas por mês e ano

Recommended Posts

Olá pessoal,

 

Tem alguma forma de se criar uma função q me retorne todas as datas de um mês e ano específicados como parâmetros?

Sei q em SQL Server existe uma forma de se criar esta função, então será q teria isso em MySQL?

 

Grato,

 

Ilano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Wagner,

 

O q estou procurando é uma função q me retorne as datas com dia/mês/ano, como a função abaixo (em SQL Server). Eu tentei fazer as alterações para MySQL mas não consegui. Esse script é interessante pq ele me traz todas as datas referente ao mês do dia 1 ao dia 28 ou 29 ou 30 ou 31 (dependendo do mês e do ano, inclusive anos bissextos).

Se puder(em) me ajdar nisso!

 

CREATE function fnDatas2(@ano smallint, @mes tinyint)

returns @datas table (data smalldatetime)

as

begin

declare @dataInicial datetime

declare @dataFinal datetime

SELECT @dataInicial = cast(@ano as varchar(4))+ '-' +cast(@mes as varchar(2)) + '- 01'

SELECT @dataFinal = DATEADD(DAY,-1,DATEADD(MONTH,1,@dataInicial))

WHILE @dataInicial <= @dataFinal

begin

insert into @datas values (@dataInicial)

SELECT @dataInicial = DATEADD(DAY,1,@dataInicial)

end

return

end

 

SELECT * FROM fnDatas2(2007,3)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja as funções MONTH() e YEAR().

 

SELECT dados FROM tabela WHERE month(campo_data) = '5' AND year(campo_data) = '2007';

 

pelo que entendi, é isso que você quer. Se não for, explique melhor.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Beraldo,

 

Não, não é isso. O q estou precisando é gerar uma função q me retorne um calendário. Naquela função de exemplo q postei anteriormente ela faz exatamente isso, só q como uma tabela, e eu posso consultá-la por qualquer ano q seja e ela vai me retornar as datas corretas referente àquele ano e mês. O exemplo q você postou é uma consulta no meu banco e só me retornará as datas q já foram cadastradas. Se você tiver um SQL na sua máquina vai entender o q estou procurando. Essa função quebra o maior galhão em aplicações web, por exemplo, quando se precisar ter um calendário num DropDownList, desde q se trabalhe com o ano e mês corrente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

crie uma tabela chamada calendario e deixe o php(ou outra linguagem qualquer) preencher ela dinaminicamente +- assim....

 

 

 

$k =0;

while ($k != 3650)

{

mysql_query("

INSERT into calendario

VALUES( 2000-01-01 + INTERVAL $k DAY

");

$k++;

}

 

 

isso vai gerar um calendaraio de 2000 a 2010 +-, pulando todas as datas erradas,,,

 

http://dev.mysql.com/doc/refman/5.0/en/dat...-functions.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.