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