[英]Can anyone help me with a excel formula converted to a SQL syntax?
=IF(OR(AND(K1471="",I1471<>"Completed",DAYS(DATEVALUE("06-14-2021"),F1471)>14),AND(OR(Q1471<>"To Be Worked",Q1471<>""),I1471="Completed",DAYS(DATEVALUE("06-14-2021"),F1471)>14),AND(S1471>=K1471,S1471<>"",Q1471<>"To Be Worked")),"Keep",IF(AND(I1471<>"Completed",DAYS(DATEVALUE("06-14-2021"),F1471)>14),"Keep","Remove"))
這是我到目前為止所得到的。
, CASE WHEN (
([NuanceFileDate]=''OR [NuanceStatus]<>'Completed')
AND (DATEDIFF(d,'06-14-2021',[DateOfService])> 14)
)
AND
([McReviewStatus] <>'To Be Worked' OR [McReviewStatus] <> '')
AND ([NuanceStatus]='Completed' AND (DATEDIFF(d,'06-14-2021',[DateOfService])> 14)
AND ([LastUpdateDate]>= [NuanceFileDate] AND [LastUpdateDate]<> '' AND [McReviewStatus] <>'To Be Worked')
)
THEN 'Keep'
ELSE
(
CASE WHEN ([NuanceStatus]<>'Completed') AND DATEDIFF(d,'06-14-2021',[DateOfService])> 14
THEN 'Keep'
ELSE 'Remove'
END
)
END
AS [COLUMN T]
你有太多的 END 和太多的嵌套。
它應該是這樣的(正如你在 SQL Server 中所說的):
SELECT CASE
WHEN ([NuanceFileDate]= '' OR [NuanceStatus]<>'Completed')
AND DATEDIFF(d,'06-14-2021',[DateOfService])> 14
AND ([McReviewStatus] <>'To Be Worked' OR [McReviewStatus] <> '')
AND ([NuanceStatus]='Completed' AND DATEDIFF(d,'06-14-2021',[DateOfService])> 14)
AND ([LastUpdateDate]>= [NuanceFileDate] AND [LastUpdateDate]<> '' AND [McReviewStatus] <>'To Be Worked')
THEN 'Keep'
WHEN [NuanceStatus]<>'Completed'
AND DATEDIFF(d,'06-14-2021',[DateOfService])> 14
THEN 'Keep'
ELSE 'Remove'
END AS [COLUMN T]
FROM YourTable
以上應該對你有用..它在我的機器上在 SQL Server Management Studio 上工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.