我提出了一堆关于在rust-postgresql中处理NULL值的问题,但是他们没有提到我个人的情况。
我需要使用带有可以为NULL的参数的WHERE来选择行,例如
SELECT id FROM TABLE WHERE name=$1
如果用于设置$1的选项为None,则它不会检索任何行,因此我必须在IF下拆分查询,如下所示
if myname.is_some()
SELECT id FROM TABLE WHERE name=$1
else
SELECT id FROM TABLE WHERE name=NULL
有没有更好的方法用一行代码来处理WHERE子句中的NULL?
我试着用“默认”的方式处理,希望有更快的方式。
1条答案
按热度按时间u3r8eeie1#
如果NULL参数表示“所有行”,则可以使用OR:
如果要查找那些在参数为NULL时名称为NULL的对象,可以使用
IS NOT DISTINCT FROM
: