在 MySQL 查询的 IF 条件中使用逻辑 OR 来检查 NoneType 或 float
Posted
技术标签:
【中文标题】在 MySQL 查询的 IF 条件中使用逻辑 OR 来检查 NoneType 或 float【英文标题】:Using logical OR in IF condition of an MySQL query to check for NoneType or float 【发布时间】:2021-11-10 18:41:04 【问题描述】:我正在尝试编写一个带有 IF 条件的 SQL 查询,如下所示 -
IF (field_name1=0.0,0,ROUND(field_name1, 2)) as new_name,
当查询运行并且new_name
的值被消费为metric
in -
percentage_diffs = df_filtered[metric].pct_change().round(5) * 100
我收到以下错误 -
TypeError: unsupported operand type(s) for /: 'NoneType' and 'float'
如何检查field_name1
的值是0.0
还是NoneType
?
提前致谢。
【问题讨论】:
【参考方案1】:做一个 OR clauue
CREATE tABLE tab1 (field_name1 DOUBLE)
INSERT INTO tab1 VALUES (NULL),(0.0)
|新名称 | | --------: | | 0 | | 0 |SELECT IF ((field_name1 IS NULL OR field_name1=0.0),0,ROUND(field_name1, 2)) as new_name FROM tab1
db小提琴here
【讨论】:
以上是关于在 MySQL 查询的 IF 条件中使用逻辑 OR 来检查 NoneType 或 float的主要内容,如果未能解决你的问题,请参考以下文章