小编Sta*_*ium的帖子

服务器端的 Firebird 计算(计算)字段

SQL和开发新手,我有一个包含字段(索引、名称、人口、区域)的表(国家/地区)通常我添加一个客户端(Delphi)计算字段(DENSITY)和 OnCalcField :

COUNTRIES.DENSITY=COUNTRIES.POPULATION / COUNTRIES.AREA
Run Code Online (Sandbox Code Playgroud)

尝试更改为 Firebird 计算字段以在服务器端完成所有计算,我创建了一个名为密度的字段,并在 IBEXPERT“计算源”列中:

ADD DENSITY COMPUTED BY ((((COUNTRIES.POPULATION/COUNTRIES.AREA))))
Run Code Online (Sandbox Code Playgroud)

一切正常,但是当 Record.AREA = 0 我有一个除以零错误。

我的问题是如何避免这种情况,例如使用 IF THEN 条件来避免在除法器为 0 时计算字段或在这种情况下使结果仅为 =0。

我的环境:Delphi RIO、Firebird 3.0、IBExpert

firebird divide-by-zero calculated-field computed-field

3
推荐指数
1
解决办法
284
查看次数