分两次执行: update 表名 set field3=(field1-field2)*0.05 where (field1-field2)>=200 update 表命 set field3=0 where (field1-field2)<200 ————————————————————————————————— MaximStr := '宠辱不惊,看庭前花开花落,去留无意; 毁誉由人,望天上云卷云舒,聚散任风。'; if Not Assigned(I) then I := TI.Create(Nil); I.Maxim := MaximStr; I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”等'; I.Desire := '加不加分随你'; —————————————————————————————————
UPDATE youtable SET 字段3 = CASE WHEN (字段1-字段2)>0 THEN (字段1-字段2) ELSE 0 END
UPDATE TABLE1 SET 字段3=(字段1-字段2)*0.05 where 字段2的值>=200 SET 字段3=0 where 字段2的值<200 如果非要写一句的话,就把它写成存储过程就可以了。
update 表名 set 字段3=(case when (字段1-字段2)>200 =(字段1-字段2)*0.05 else 0 end)
select 字段1, 字段2, iif(字段1-字段2>200,(字段1-字段2)*0.05, 0) as 字段3 from MyTable where ....或者select 字段1, 字段2, (字段1-字段2)*0.05) as 字段3 from MyTable where 字段1-字段2>200 and .... union select 字段1, 字段2, 0 as 字段3 from MyTable where 字段1-字段2<=200 and ....
update 表名 set field3=(field1-field2)*0.05 where (field1-field2)>=200
update 表命 set field3=0 where (field1-field2)<200
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”等';
I.Desire := '加不加分随你';
—————————————————————————————————
SET 字段3 = CASE
WHEN (字段1-字段2)>0 THEN (字段1-字段2)
ELSE 0
END
SET 字段3=(字段1-字段2)*0.05 where 字段2的值>=200
SET 字段3=0 where 字段2的值<200
如果非要写一句的话,就把它写成存储过程就可以了。
set 字段3=(case when (字段1-字段2)>200 =(字段1-字段2)*0.05 else
0 end)
iif(字段1-字段2>200,(字段1-字段2)*0.05, 0) as 字段3
from MyTable
where ....或者select 字段1, 字段2, (字段1-字段2)*0.05) as 字段3
from MyTable
where 字段1-字段2>200
and ....
union
select 字段1, 字段2, 0 as 字段3
from MyTable
where 字段1-字段2<=200
and ....