PyMySQL 在 select 语句中处理 None

问题描述 投票:0回答:2

在 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 中,我通常可以使用关联数组进行搜索,然后过滤掉空值。

python pymysql
2个回答
0
投票

也许是这样的:

"SELECT * FROM table WHERE "+("phone = %s" if phone else "phone is NULL")
并继续这种模式。


0
投票

我最近阅读了一篇关于语法场景的文章(阅读更多),内容涉及处理 Python 列表中的 None 值,但我很想听听其他在实践中尝试过这些方法的人的意见。有人可以提供快速审查或更多示例来确认什么最适合过滤或替换 None 元素吗?谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.