在 SQL Server 中,您可以使用 DATENAME 函数以字符串形式获取星期几
declare @date datetime
set @date = '12/16/08'
select datename(dw, @date)
返回“星期二”
您可以使用 DATEPART 函数获取整数形式的星期几
declare @date datetime
set @date = '12/16/08'
select datepart(dw, @date)
返回 3
但是假设我有一个包含字符串“Tuesday”的 varchar,并且我想将其转换为 3 的整数表示形式。当然,我可以毫不费力地写出转换结果,但我更愿意使用内置函数。这样的功能存在吗?
不幸的是,没有内置函数,但您可以像这样创建自己的函数:
CREATE FUNCTION dbo.WeekDay(@DayOfWeek Varchar(9))
RETURNS INT
AS
BEGIN
DECLARE @iDayofWeek INT
SELECT @iDayofWeek = CASE @DayOfWeek
WHEN 'Sunday' THEN 1
WHEN 'Monday' THEN 2
WHEN 'Tuesday' THEN 3
WHEN 'Wednesday' THEN 4
WHEN 'Thursday' THEN 5
WHEN 'Friday' THEN 6
WHEN 'Saturday' THEN 7
END
RETURN (@iDayofWeek)
END
GO
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)