我正在尝试学习SQL Server中的函数,我不知道为什么我无法从T-SQL函数中获得正确的结果。
创建函数的查询是:
CREATE FUNCTION yuri_func1
(@valDate VARCHAR(10))
RETURNS VARCHAR
AS
BEGIN
DECLARE @valWeekday VARCHAR(10);
SET @valWeekday = DATENAME(WEEKDAY, @valDate);
RETURN @valWeekday;
END
另一个问题是
select dbo.yuri_func1('2017-12-29') as [요일]
但我得到的唯一结果就是
空白。 (= “”)
但是当我执行这样的功能时,
select DATENAME(WEEKDAY, '2017-12-29')
结果是
MONDAY
我仍然不明白为什么他们会返回不同的结果。
有人知道为什么吗?
答案 0 :(得分:3)
这是因为您应该接受DateTime作为函数中的参数而不是varchar
True,False