Функция обрабатывает запрос sql - PullRequest
0 голосов
/ 09 июля 2020

Функция обрабатывает запрос sql. Он получает параметры, и один из них может быть либо "нулевым", либо значением (uuid), мне нужно добавить это значение туда. Но есть проблема, потому что с 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)
    

1 Ответ

0 голосов
/ 09 июля 2020
select name from table where param is not distinct from %s

In sql, null = null и null <> null всегда оцениваются как false, потому что нулевые значения рассматриваются как неизвестные и не могут считаться равными или неравными друг другу.

Но два значения null неотличимы друг от друга, поэтому null is not distinct from null оценивается как true.

...