0

我有一个 where 子句说:

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

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

where z < :x < y or y is null

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

4

1 回答 1

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;
于 2013-08-13T11:13:21.197 回答