Tsql t-sql编程中udf未正确返回数据
以下是函数:Tsql t-sql编程中udf未正确返回数据,tsql,user-defined-functions,Tsql,User Defined Functions,以下是函数: ALTER FUNCTION dbo.FN_GET_QUARTER -- the parameters for the function here ( @FN_Qtr_date datetime ) RETURNS INT AS BEGIN RETURN datepart(qq,@FN_Qtr_date) END 以下是SQL报告: IF(SELECT(OBJECT_ID('TEMPDB..#T1'))) IS NOT NULL DROP TABLE #T
ALTER FUNCTION dbo.FN_GET_QUARTER
-- the parameters for the function here
(
@FN_Qtr_date datetime
)
RETURNS INT
AS
BEGIN
RETURN datepart(qq,@FN_Qtr_date)
END
以下是SQL报告:
IF(SELECT(OBJECT_ID('TEMPDB..#T1'))) IS NOT NULL DROP TABLE #T1
SELECT L_NUMBER, LAST_MAINTENANCE_DATE,
dbo.FN_FICO_BANDS (LAST_MAINTENANCE_DATE) AS FN_Qtr_date
INTO #T1
FROM OPENQUERY(SrvLink, '
SELECT LOAN_NUMBER,LAST_MAINTENANCE_DATE
FROM BDE.loan_V
FETCH FIRST 1000 ROWS ONLY WITH UR ')
GO
SELECT COUNT(*), FN_Qtr_date
FROM #T1
GROUP BY FN_Qtr_date
ORDER BY FN_Qtr_date
结果:
L count FN_Qtr_Date
150 Invalid
355 Invalid
我不确定我做错了什么。dbo.FN\u FICO\u BANDS(上次维护日期)作为FN\u Qtr\u日期
如果要在上次维护日期使用该功能,则需要使用:
dbo.FN\u Qtr\u日期(上次维护日期)作为您的季度dbo.FN\u FICO\u BANDS(上次维护日期)作为FN\u Qtr\u日期
如果要在上次维护日期使用该功能,则需要使用:
dbo.FN季度日期(上次维护日期)作为你的季度第一件跳出来的事是你在呼叫
dbo.FN\FICO\u BANDS
而不是dbo.FN\u GET\u QUARTER第一件跳出来的事是你在呼叫dbo.FN\u FICO\u BANDS
而不是dbo.FN\u GET\u QUARTER
你定义了FN\u GET\u季度
并呼叫我FN_FICO_BANDS
:-?您定义FN_GET_QUARTER
并调用FN_FICO_BANDS
:-?