在C++中,您可以这样做:
T.x = (T.y > 1 && (T.x - T.y < 0)) ? 0 : (T.x - T.y)
Run Code Online (Sandbox Code Playgroud)
在[几乎]普通英语中,是
if T.y > 1 and T.x-T.y < 0 then
set T.x to 0
else
set T.x to T.x-T.y
Run Code Online (Sandbox Code Playgroud)
是否可以仅使用SQL执行相同的操作,而无需使用存储过程或触发器?
ta.*_*.is 11
使用CASE声明:
CASE WHEN T.y > 1 AND (T.x - T.y) < 0 THEN 0 ELSE (T.x - T.y) END
Run Code Online (Sandbox Code Playgroud)
是的,可以看看文档,它说:
IF(表达式1,表达式2,表达式3)
如果expr1为TRUE(expr1 <> 0且expr1 <> NULL)则IF()返回expr2; 否则返回expr3.
这个未经测试的代码应该是你的情况:
SELECT IF(((T.y > 1) and (T.x-T.y < 0)), 0, (T.x-T.y))
Run Code Online (Sandbox Code Playgroud)