Sql 如何在Select查询中使用函数
我需要在select查询中使用函数。下面是我的函数和选择查询的代码 示例函数:Sql 如何在Select查询中使用函数,sql,sql-server-2008,Sql,Sql Server 2008,我需要在select查询中使用函数。下面是我的函数和选择查询的代码 示例函数: CREATE FUNCTION GetASRPlanCurrentStatus(@ChvnPlanNo nvarchar(50)) RETURNS NVARCHAR(50) AS BEGIN Declare @ChvnStatus nvarchar(50) = NULL, @PlanStatus nvarchar(50) = 'Not yet initiated for process' SET @C
CREATE FUNCTION GetASRPlanCurrentStatus(@ChvnPlanNo nvarchar(50)) RETURNS NVARCHAR(50)
AS
BEGIN
Declare
@ChvnStatus nvarchar(50) = NULL,
@PlanStatus nvarchar(50) = 'Not yet initiated for process'
SET @ChvnStatus =
CASE
WHEN (SELECT
COUNT(*)
FROM Evaluation
WHERE PlanNo = @chvnPlanNo
AND ISNULL(IsFreezed, 0) = 1
AND ISNULL(SendForRecruiter, 0) = 1
AND ISNULL(IsPEScoreUploaded, 0) = 1
AND ISNULL(SentForTeamLeaderApproval, 0) = 1)
= (SELECT
COUNT(*)
FROM Evaluation
WHERE PlanNo = @ChvnPlanNo) THEN 'Approved'
END
SET @PlanStatus = ISNULL(@ChvnStatus, @PlanStatus)
RETURN @PlanStatus
END
我的选择查询:
SELECT
'0' AS ResultTag,
GetASRPlanCurrentStatus('ASR2017 - 3') AS Overallstatus,
6' AS ProcessOrder
上述查询不起作用。我不知道怎么了。有人指导我解决这个问题。提前谢谢
要求输出:
---------- ---------- ----------
Result Tag Overallstatus ProcessOrder
---------- ---------- ----------
0 Approved 6
请尝试将方案放在您的功能前面
SELECT
'0' AS ResultTag,
dbo.GetASRPlanCurrentStatus('ASR2017 - 3') AS Overallstatus,
6' AS ProcessOrder
...
使用以下查询调用SELECT子句中的函数:
SELECT '0' AS ResultTag,'6' AS ProcessOrder,
[dbo].[GetASRPlanCurrentStatus]('ASR2017 - 3') AS Overallstatus,
----------
----------
上述查询不起作用。??有错误信息吗?