两个自定义函数,一个是返回一个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