Trying to set a varable based on the current date and pass to query wihtin SQL function. It error at the IF statement. Any ideas?
CREATE FUNCTION CS_AwaredRCPs
(
@currentDate DATE,
@fiscalYear INT
IF DATEPART(m,@currentDate) > 10
SET @fiscalYear = DATEPART(yyyy,@currentDate)
ELSE
SET @fiscalYear = DATEPART(yyyy,@currentDate) - 1
END
)
RETURNS TABLE
AS
RETURN
(
SELECT dbo.tbl_requirementManagement.postaward_specialist_id,
SUM(dbo.tbl_requirementManagement.actual_award_value) AS AwardValue,
COUNT(dbo.tbl_requirementManagement.postaward_specialist_id) AS AwardCount
FROM dbo.tbl_requirementManagement RIGHT OUTER JOIN
dbo.vw_ContractSpecialists ON dbo.tbl_requirementManagement.postaward_specialist_id = dbo.vw_ContractSpecialists.user_certificateSerialNumber
GROUP BY dbo.tbl_requirementManagement.statusID, dbo.tbl_requirementManagement.postaward_specialist_id, dbo.tbl_requirementManagement.fiscal_year
HAVING (dbo.tbl_requirementManagement.statusID = 4) AND
(dbo.tbl_requirementManagement.postaward_specialist_id <> 0) AND
(dbo.tbl_requirementManagement.fiscal_year = @fiscalYear)
)
`
@FiscalYearwhen you don't use it? The IF / ELSE assigns it in all cases so the value passed in for@FiscalYearis never actually used.