在 MySQL 查询的 IF 条件中使用逻辑 OR 检查 NoneType 或 float

Using logical OR in IF condition of an MySQL query to check for NoneType or float

我正在尝试使用 IF 条件编写一个 SQL 查询,如下所示 -

IF (field_name1=0.0,0,ROUND(field_name1, 2)) as new_name,

当查询为 运行 且 new_name 的值在 -

中被消耗为 metric
percentage_diffs = df_filtered[metric].pct_change().round(5) * 100

我收到以下错误 -

TypeError: unsupported operand type(s) for /: 'NoneType' and 'float'

如何检查 field_name1 的值是 0.0 还是 NoneType

提前致谢。

做一个 OR clauue

CREATE tABLE tab1 (field_name1 DOUBLE)
INSERT INTO tab1 VALUES (NULL),(0.0)
SELECT 
IF ((field_name1 IS NULL OR field_name1=0.0),0,ROUND(field_name1, 2)) as new_name FROM tab1
| new_name |
| -------: |
|        0 |
|        0 |

db<>fiddle here