SQL组合相同的绑定变量

时间:2013-08-13 11:02:26

标签: sql where where-clause clause

我有一个where子句说:

select * from tablename 
where :x < y or y is null 
and :x > z

我尝试重写它以便它使用:x一次,如下所示,但我不明白为什么我一直收到一条错误,说“SQL命令没有正确结束”。

where z < :x < y or y is null

任何帮助都将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:2)

您尝试使用的表达式z < x < y不是标准SQL。

你可以接近:

where :x between y and z or y is null;

区别在于between确实是'y <= x <= z'。如果确实需要不等式并且值是整数,则可以轻松地执行:

where :x between y + 1 and z - 1 or y is null;