簡體   English   中英

任何人都可以幫助我將 Excel 公式轉換為 SQL 語法嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM