函数处理sql请求。它接收参数,其中一个可以是“null”或值(uuid),我需要将这个值添加到where。但是有一个问题,因为对于null“where param is null”,但是对于值“where param=value”例子
sql = '''select name from table where param = %s ''' def run_sql(param=None): a = db_api(sql, param)
ldfqzlk81#
select name from table where param is not distinct from %s
在sql中, null = null 以及 null <> null 总是评估到 false 因为空值被视为未知值,不能认为彼此相等或不相等。但是两个 null 值之间没有区别,所以 null is not distinct from null 计算结果为 true .
null = null
null <> null
false
null
null is not distinct from null
true
1条答案
按热度按时间ldfqzlk81#
在sql中,
null = null
以及null <> null
总是评估到false
因为空值被视为未知值,不能认为彼此相等或不相等。但是两个
null
值之间没有区别,所以null is not distinct from null
计算结果为true
.