两个自定义函数,一个是返回一个Table,另一个是直接返回名称。
udf_WeekDayName
CREATE FUNCTION [dbo].[udf_WeekDayName]
(
)
RETURNS @WeekDayName TABLE([Id] INT,[WeekDayName] NVARCHAR(15))
AS
BEGIN
INSERT INTO @WeekDayName ([Id],[WeekDayName]) VALUES (0,'Saturday'),(1,'Sunday'),(2,'Monday'),(3,'Tuesday'),(4,'Wednesday'),(5,'Thursday'),(6,'Friday')
RETURN
END
(
)
RETURNS @WeekDayName TABLE([Id] INT,[WeekDayName] NVARCHAR(15))
AS
BEGIN
INSERT INTO @WeekDayName ([Id],[WeekDayName]) VALUES (0,'Saturday'),(1,'Sunday'),(2,'Monday'),(3,'Tuesday'),(4,'Wednesday'),(5,'Thursday'),(6,'Friday')
RETURN
END
udf_WeekDayNameOfDate
CREATE FUNCTION [dbo].[udf_WeekDayNameOfDate]
(
@Date DATETIME
)
RETURNS NVARCHAR(10)
BEGIN
RETURN
CASE (DATEPART(dw, @Date) + @@DATEFIRST) % 7
WHEN 0 THEN 'Saturday'
WHEN 1 THEN 'Sunday'
WHEN 2 THEN 'Monday'
WHEN 3 THEN 'Tuesday'
WHEN 4 THEN 'Wednesday'
WHEN 5 THEN 'Thursday'
WHEN 6 THEN 'Friday'
END
END
(
@Date DATETIME
)
RETURNS NVARCHAR(10)
BEGIN
RETURN
CASE (DATEPART(dw, @Date) + @@DATEFIRST) % 7
WHEN 0 THEN 'Saturday'
WHEN 1 THEN 'Sunday'
WHEN 2 THEN 'Monday'
WHEN 3 THEN 'Tuesday'
WHEN 4 THEN 'Wednesday'
WHEN 5 THEN 'Thursday'
WHEN 6 THEN 'Friday'
END
END