在 PyMySQL 中处理 select 语句中 None 值的最佳方法是什么?例如,假设我想生成以下查询:
SELECT *
FROM table
WHERE name = %s
AND address = %s
AND city = %s
AND phone = %s
但是,电话可以为 None,在这种情况下,声明需要如下所示:
SELECT *
FROM table
WHERE name = %s
AND address = %s
AND city = %s
AND phone IS NULL
或者以下也可以接受:
SELECT *
FROM table
WHERE name = %s
AND address = %s
AND city = %s
实际的查询要复杂得多,所以我正在寻找通用的解决方案。在 PHP 中,我通常可以使用关联数组进行搜索,然后过滤掉空值。
也许是这样的:
"SELECT * FROM table WHERE "+("phone = %s" if phone else "phone is NULL")
并继续这种模式。
我最近阅读了一篇关于语法场景的文章(阅读更多),内容涉及处理 Python 列表中的 None 值,但我很想听听其他在实践中尝试过这些方法的人的意见。有人可以提供快速审查或更多示例来确认什么最适合过滤或替换 None 元素吗?谢谢!