在 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
我正在尝试使用 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