Tsql 将函数从Access SQL转换为T-SQL 2005

Tsql 将函数从Access SQL转换为T-SQL 2005,tsql,ms-access,function,Tsql,Ms Access,Function,有人能帮我把这个access sql函数转换成t-sql 2005吗 我想把售价减去成本作为一个数字。然后除以原始售价,得到第二个数字 谢谢:) IIRC它应该是沿着以下路线的东西: ISNULL((ISNULL([Selling Price],0) - ISNULL(Cost,0)),0) / ISNULL([Selling Price],0) AS Margin 但这里我得到一个除以零的误差 有什么建议吗 被认为是最优雅、最容易理解的。非常感谢。我想这是第一次。为其他人干杯:)这不是第一次

有人能帮我把这个access sql函数转换成t-sql 2005吗

我想把售价减去成本作为一个数字。然后除以原始售价,得到第二个数字

谢谢:)

IIRC它应该是沿着以下路线的东西:

ISNULL((ISNULL([Selling Price],0) - ISNULL(Cost,0)),0) / ISNULL([Selling Price],0) AS Margin
但这里我得到一个除以零的误差


有什么建议吗

被认为是最优雅、最容易理解的。非常感谢。我想这是第一次。为其他人干杯:)这不是第一次;)不过还是不错的。@Andrew-读起来可能好一点,但它不包括[售价]=0的情况
CASE 
   WHEN ISNULL([Selling Price], 0) = 0 THEN 0
   ELSE ([Selling Price] - ISNULL([Cost], 0)) / [Selling Price] 
END
CASE 
   WHEN ISNULL([Selling Price], 0) = 0 THEN 0
   ELSE ([Selling Price] - ISNULL([Cost], 0)) / [Selling Price] 
END
SELECT
    CASE 
        WHEN ISNULL([Selling Price],0) = 0 THEN 0
        ELSE ([Selling Price] - ISNULL([Cost],0))/[Selling Price]
    END AS fieldName
FROM TableName