sql - Between 子句 - 我是否必须重新排序参数?

标签 sql oracle between

我有一个看起来很愚蠢的问题。我有一个看起来像这样的查询:

SELECT id FROM myTable WHERE valueCol BETWEEN :x and :y;

这在 :x <= :y 时效果很好但是,当:x > :y它不返回我想要的行!对于这种情况,我必须手动反转变量以使其正常工作。

有没有一种方法可以编写变量顺序无关紧要的 between 子句?

PS> 我包括了 SQL,因为我很确定这只是一个一般的 sql 问题。

最佳答案

是的,这很简单:

SELECT id 
FROM myTable 
WHERE valueCol BETWEEN LEAST(:x,:y) and GREATEST(:x,:y);

关于sql - Between 子句 - 我是否必须重新排序参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23552095/

相关文章:

SQL:用户计数的每日报告

oracle - 在 COMMIT 之前查看不同 SQL Oracle session 的更改?

oracle - 在oracle 19c中,表中允许的最大列数是多少?

java - 获取异常 ORA-00942 : table or view does not exist - when inserting into an existing table

java - java中的迭代器 - 删除范围内的数字

mysql - 如何从MySQL中的日期和时间范围获取数据

mysql - SQL : count days between two dates

php - 显示mysql数据库其他表的数据

mysql - 从 MS-SQL Server 查询转换为 MySQL 和 DATEDIFF()

mysql - 获取包含子项和子项详细信息计数的父项的 MySQL 结果