我有时间发现如何最好地编写以下内容:
SET @SAMPLE = (SELECT CASE
WHEN @A < 0.01 AND @B < 0.01 THEN -1
WHEN @A < 0.01 THEN @B
ELSE @C
END )
Run Code Online (Sandbox Code Playgroud)
我没有达到我的期望.运行后我发现@SAMPLE包含0.00.谢谢你的指导.
CASE语句按顺序评估其条件,并在满足条件的第一个条件下停止
从您的示例中,所有人都可以推断出@B或@c为零.
操作优先级通常是指首先评估哪个运算符(例如,"*"或" - ").您的问题应该标题为"案例评估顺序".
http://technet.microsoft.com/en-us/library/ms181765.aspx