• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

The Loser

[SQL Server] Obter os dias de um mês

4 mensagens neste tópico

Enfim, não sei onde por isto, mas pronto. Isto cria uma função que devolve os dias de um mês de uma dada data.

Não é nada complexa, mas lembrei-me do P@P quando a fiz cá no trabalho.. Provavelmente porque já vi bastante gente a perguntar isto noutras linguagens.. Pode ser que ajude alguém. :P

CREATE FUNCTION DiasDoMes (@data DATETIME)
RETURNS INT
AS
BEGIN
RETURN 
CASE WHEN MONTH(@data) IN (1, 3, 5, 7, 8, 10, 12) 
	THEN 31

WHEN MONTH(@data)IN(4, 6, 9, 11) 
	THEN 30

WHEN (YEAR(@data)%4=0 AND YEAR(@data)%100!=0) OR (YEAR(@data)%400=0) 
	THEN 29
	ELSE 28
END
END
GO

P.S. - Não faço ideia de onde colocar isto, por isso veio para aqui. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque não fazer algo deste género:

CREATE FUNCTION dbo.GetNumeroDias (@data datetime)

RETURNS int
AS
BEGIN
declare @dias int
set @dias = DAY(DATEADD (m, 1, DATEADD (d, 1 - DAY(@data), @data)) - 1)
return @dias
END

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque não fazer algo deste género:

CREATE FUNCTION dbo.GetNumeroDias (@data datetime)

RETURNS int
AS
BEGIN
declare @dias int
set @dias = DAY(DATEADD (m, 1, DATEADD (d, 1 - DAY(@data), @data)) - 1)
return @dias
END

Este cálculo está fixe. Vou utilizar qd precisar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque não fazer algo deste género

Porque foi feita à padeiro. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora