我有一个where子句说:
select * from tablename
where :x < y or y is null
and :x > z
我尝试重写它以便它使用:x一次,如下所示,但我不明白为什么我一直收到一条错误,说“SQL命令没有正确结束”。
where z < :x < y or y is null
任何帮助都将不胜感激,谢谢。
答案 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;