在SQL Developer(v 4.1)中,当我尝试在带有一个或多个绑定变量的查询上运行SQL Tuning Advisor时,如果我将其中任何一个保留为null,则SQL Tuning Advisor不会显示任何信息所有。这是一个SQL Developer错误,还是我误解了关于空值,绑定和调优的东西?
这是一个简单的例子:
select * from dual where :p = 1;
突出显示查询并按Ctrl + F12,系统会提示您输入p
的值。保留" NULL"选中复选框并单击"应用":
SQL Tuning Advisor似乎立即退出运行并且没有显示查询的详细信息:
这是一个SQL Developer错误,还是我误解了有关空值,绑定和调优的内容?
答案 0 :(得分:-1)
select * from dual where nvl(:p,-1) = 1;
WHERE子句中的任何null都会使所有布尔代数为NULL(FALSE)