Na primeira função mostra como retornar a posição de um dia da semana que no caso é um inteiro, onde “1” equivale a “Domingo” e “2” a “Segunda-Feira” e assim por diante. Já na segunda função retorna uma string com descrição do dia da semana. Veja a seguir as funções:
1º function
CREATE FUNCTION FDIA_SEMANA (@DATA DATETIME) RETURNS INT AS
BEGIN
DECLARE @DIA INT
SELECT @DIA = (DATEPART(DW,@DATA ))
RETURN @DIA
END
2º function
CREATE FUNCTION FDIA_SEMANA_EXT (@DATA DATETIME) RETURNS VARCHAR (20) AS
BEGIN
DECLARE @DIA INT,
@DIA_EXT VARCHAR(20)
SELECT @DIA = (DATEPART(DW,@DATA ))
IF @DIA=1
SET @DIA_EXT ="DOMINGO"
IF @DIA=2
SET @DIA_EXT ="SEGUNDA-FEIRA"
IF @DIA=3
SET @DIA_EXT ="TERÇA-FEIRA"
IF @DIA=4
SET @DIA_EXT ="QUARTA-FEIRA"
IF @DIA=5
SET @DIA_EXT ="QUINTA-FEIRA"
IF @DIA=6
SET @DIA_EXT ="SEXTA-FEIRA"
IF @DIA=7
SET @DIA_EXT ="SÁBADO"
RETURN @DIA_EXT
END