我正在编写一个Python脚本来分析一些数据,这些数据来自几个不同的SQL数据库。对数据库的查询基于以前查询的结果,对不同的数据库进行查询。在
我遇到的问题是有些查询可能返回NULL
。在
所以,如果我有一个像
SELECT *
FROM table_name
WHERE fieldA = ?
AND fieldB = ?
我有两个从其他查询返回的值;field_a = 'A'
和{
什么也不返回。如果我更改SQL查询以便将None/Null值硬编码:
SELECT *
FROM table_name
WHERE field_a = ?
AND field_b IS NULL
我得到了我期望的数据。在
除了基于字段值从子字符串构建SQL查询之外,还有没有更好的方法来处理这个问题?在
我猜
none
在编译成SQL时会被转换成null
。因为null永远不能等于任何东西(甚至不能等于另一个null),所以您必须像硬编码该值时那样使用is null
。如果你想两者兼得呢?我要做的就是用这样的方法控制空值的可能性:当然,这有一个漏洞,如果field_b实际上是一个空字符串,那么当您不希望它出现时,它将等同于它。根据这是否是一个问题,您还可以创造性地使用
case
语句或or
条件。在尝试使用或
希望这有帮助!在
相关问题 更多 >
编程相关推荐