我确信我忽略了一些简单的事情,我承认我还在学习SQL的各个方面,而Datepart函数是一个......
我正在输入日期并返回无效的季度,这是代码:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION Dbo.FN_Get_Quarter (
-- the parameters for the function here
@date varchar(10)
) RETURNS BIT
AS
BEGIN
RETURN datepart(qq,@date)
END
这是我正在使用的测试和返回的值...
select dbo.FN_GET_QUARTER('07-14-2010')
...返回1
答案 0 :(得分:1)
datepart返回一个int,但是你已经将函数返回类型声明为位
答案 1 :(得分:0)
返回BIT意味着该值只能是0或1.因此,您必须将数据类型更改为INT以获取返回的实际值:
ALTER FUNCTION Dbo.FN_Get_Quarter (
@date varchar(10)
) RETURNS INT
AS
BEGIN
RETURN datepart(qq,@date)
END