据我记得,我可以在MS SQL Server中进行此类更新:
UPDATE MyTable SET MyValue = (IF SomeCondition THEN 1 ELSE 0 END)
或使用CASE进行更新的不同方式:
UPDATE MyTable SET MyValue = (CASE WHEN SomeCondition1 THEN 1 ELSE 0 END)
Firebird中是否有可能使用这些方法?我已经尝试过两种方式,但没有运气。
感谢您的回答。
答案 0 :(得分:2)
您使用的是哪个版本的FireBird?我测试了2.5,第二个(使用CASE
)按预期工作。
FireBird不支持DSQL中的IF
语句,但您可以使用IIF
内部函数,即后续工作:
UPDATE MyTable SET MyValue = iif(SomeCondition, 1, 0)