Hola,
En una tabla tengo un campo tipo SmallDateTime. Y quiero poner otro campo
calculado que podrá tener 3 valores:
0- Si la fecha representa un dia entre lunes y viernes
1-Si la fecha representa un sábado
2-Si la fecha representa un domingo.
para ello hice una funcion:
CREATE FUNCTION [dbo].[TipusDia]
(
@Data smallDateTime
)
RETURNS int
AS
BEGIN
Declare @d int
declare @f int
declare @tipus int
SELECT @d = Cast(DatePart(weekDay, @Data) AS int)
SET @Tipus = 0
IF (@d =6) //Sabado es 6 SOLO si @@DATEFIRST = 1
set @Tipus = 1
ELSE IF (@d = 7)
set @Tipus = 2
return @Tipus
END
pero todo esto depende del valor de @@DATEFIRST.
Luego pensé en definir dentro de la función: SET DATEFIRST 1 (lunes). Pero
me dá error.
Como puedo hacer para que independientemente de la configuración del
servidor esto funcione?
Grácias.
Leer las respuestas