PyMySQL在select语句中处理None

时间:2015-10-12 15:59:38

标签: python pymysql

在PyMySQL中的select语句中处理None值的最佳方法是什么。例如,假设我想生成以下查询:

SELECT *
FROM table
WHERE name = %s
AND address = %s
AND city = %s
AND phone = %s

但是,手机可以是无,在这种情况下,语句必须如下所示:

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

1 个答案:

答案 0 :(得分:0)

也许是这样的:

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