Sql server “转换Excel”;如果;函数到T-SQL查询

Sql server “转换Excel”;如果;函数到T-SQL查询,sql-server,excel,Sql Server,Excel,我在SQL Server数据库和Excel中有一个表 使用Excel计算“H”列中“D”的值时,我使用了以下公式: =IF(G2="NULL",100,IF(A2="NULL",((E2-3-F2)/D2),IF(D2="NULL",((B2-3-C2)/A2),IF(((B2-3-C2)/A2)<((E2-3-F2)/D2),((B2-3-C2)/A2),((E2-3-F2)/D2))))) =IF(G2=“NULL”、100、IF(A2=“NULL”、((E2-3-F2)/D2)、

我在SQL Server数据库和Excel中有一个表

使用Excel计算“H”列中“D”的值时,我使用了以下公式:

=IF(G2="NULL",100,IF(A2="NULL",((E2-3-F2)/D2),IF(D2="NULL",((B2-3-C2)/A2),IF(((B2-3-C2)/A2)<((E2-3-F2)/D2),((B2-3-C2)/A2),((E2-3-F2)/D2)))))
=IF(G2=“NULL”、100、IF(A2=“NULL”、((E2-3-F2)/D2)、IF(D2=“NULL”、((B2-3-C2)/A2)、IF(((B2-3-C2)/A2)在SQL SERVER中,您可以使用表达式计算条件列表并返回多个可能的结果表达式之一

SELECT
CASE WHEN G2 IS NULL THEN 100 
    ELSE 
    CASE WHEN A2 IS NULL THEN (E2-3.2-F2)/D2 
        ELSE 
        CASE WHEN D2 IS NULL THEN (B2-3.2-C2)/A2
            ELSE
            CASE WHEN (B2-3.2-C2)/A2 < (E2-3.2-F2)/D2 THEN (B2-3.2-C2)/A2
                ELSE (E2-3.2-F2)/D2 
            END 
        END 
    END 
END AS Test
FROM YourTable
选择
如果G2为空,则为100
其他的
如果A2为空,则(E2-3.2-F2)/D2
其他的
当D2为空时,则为(B2-3.2-C2)/A2
其他的
当(B2-3.2-C2)/A2<(E2-3.2-F2)/D2时,则为(B2-3.2-C2)/A2
其他(E2-3.2-F2)/D2
结束
结束
结束
作为测试结束
从你的桌子上

您使用的是哪种DBMS?mysql sql server。您尝试了什么?谢谢您的回复Sean,我使用的是MS sql server 2008,我什么都没试过。谢谢tezzo,这真的帮助了我。
SELECT
CASE WHEN G2 IS NULL THEN 100 
    ELSE 
    CASE WHEN A2 IS NULL THEN (E2-3.2-F2)/D2 
        ELSE 
        CASE WHEN D2 IS NULL THEN (B2-3.2-C2)/A2
            ELSE
            CASE WHEN (B2-3.2-C2)/A2 < (E2-3.2-F2)/D2 THEN (B2-3.2-C2)/A2
                ELSE (E2-3.2-F2)/D2 
            END 
        END 
    END 
END AS Test
FROM YourTable